Repository navigation
Replies: 1 comment
|
Some context that should help with triage, since "update deepmerge" isn't possible right now. What Snyk is flagging It's Snyk's "latest non-vulnerable" 4.1.2 is worse, not better. It predates the prototype-poisoning guard entirely, and in my tests it fails even on plain targets. It's also narrower than classic prototype pollution: const merge = require('deepmerge');
const body = '{"__proto__":{"isAdmin":true}}';
merge(Object.create(null), JSON.parse(body)).isAdmin; // true
merge({ session: null }, JSON.parse(`{"session":${body}}`)).session.isAdmin; // true
merge({ theme: 'x' }, JSON.parse(body)).isAdmin; // undefined (plain target is fine)
({}).isAdmin; // undefined (no global pollution)Where Paste calls it
Every merged input is a design-token or style object written by the app developer. With a normal setup, no attacker-controlled data reaches The one case worth checking in your app: if you build the For the Snyk finding An |
Uh oh!
There was an error while loading. Please reload this page.
Description
The package
deepmerge@4.2.2is introduced as a transitive dependency through Twilio Paste packages and is flagged by Snyk for Prototype Pollution.Vulnerability:
deepmerge@4.2.2mergeObject()and malicious__proto__keysIntroduced through:
@twilio-paste/box@10.3.0@twilio-paste/chat-composer@5.2.1@twilio-paste/customization@8.2.0@twilio-paste/text@10.1.1@twilio-paste/core@20.16.0Please update the affected Twilio Paste dependency chain to use a non-vulnerable version of
deepmerge, or provide a recommended supported mitigation if no patched version is currently available.Link to Reproduction
https://www.npmjs.com/package/deepmerge
Twilio Paste Versions
Environment
deepmerge@4.2.2All reactions