CVE-2026-48170
Publiée le 2026-08-07 · Dernière modification le 2026-10-23
Les services Node.js utilisant la bibliothèque `scim-patch` avant la version 0.9.1 sont vulnérables à la pollution de prototype (prototype pollution). Un attaquant authentifié peut envoyer une requête JSON PATCH spécialement conçue pour modifier le prototype de l'objet global, ce qui pourrait altérer le comportement de l'ensemble de l'application ou permettre l'obtention de privilèges élevés. Cette action peut être exécutée à distance via le réseau, sans aucune interaction de la part de l'utilisateur.
DÉTAIL DU VECTEUR CVSS
RÉFÉRENCES
Description officielle du NVD (en anglais)
`scim-patch`, a library to perform SCIM patch, prior to version 0.9.1 performs prototype pollution when applying a SCIM PATCH operation whose `value` object contains a key like `"__proto__.someProp"`. After one such patch, `Object.prototype.someProp` is set process-wide, affecting every plain object in the Node process. Any service that calls `scimPatch()` on attacker-controlled JSON (i.e. any SCIM endpoint accepting `PATCH` from an external IdP) is exploitable on a stock Node runtime. Version 0.9.1 contains a patch. A workaround is available. Calling `Object.freeze(Object.prototype)` (and the same on `Array.prototype`, `Function.prototype`) at process startup neutralizes this class of bug — assignment to a frozen prototype becomes a silent no-op in sloppy mode or a `TypeError` in strict mode. Node's `--frozen-intrinsics` flag does this for built-ins automatically.