CVE-2026-48170
Full vulnerability record from the local CVENow database.
Description
`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.
View original CVE JSON
{
"id": "CVE-2026-48170",
"sourceIdentifier": "[email protected]",
"published": "2026-08-07T22:16:59.170",
"lastModified": "2026-10-23T20:10:00.160",
"vulnStatus": "Deferred",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "`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,\n`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."
},
{
"lang": "es",
"value": "“scim-patch”, una biblioteca para realizar un parche SCIM, anterior a la versión 0.9.1 realiza contaminación de prototipos al aplicar una operación SCIM PATCH cuyo objeto “value” contiene una clave como ’“__proto__.someProp”’. Después de un parche de este tipo, “Object.prototype.someProp” se establece en todo el proceso, afectando a cada objeto simple en el proceso de Node. Cualquier servicio que llame a “scimPatch()” en JSON controlado por el atacante (es decir, cualquier endpoint SCIM que acepte “PATCH” de un IdP externo) es explotable en un entorno de ejecución de Node estándar. La versión 0.9.1 contiene un parche. Una solución alternativa está disponible. Llamar a “Object.freeze(Object.prototype)” (y lo mismo en “Array.prototype”, “Function.prototype”) al inicio del proceso neutraliza esta clase de error - la asignación a un prototipo congelado se convierte en una operación nula silenciosa en modo permisivo o en un “TypeError” en modo estricto. El flag “--frozen-intrinsics” de Node hace esto para los elementos incorporados automáticamente."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "thomaspoignant",
"product": "scim-patch",
"versions": [
{
"version": "< 0.9.1",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:H/A:L",
"baseScore": 9.1,
"baseSeverity": "CRITICAL",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "LOW",
"userInteraction": "NONE",
"scope": "CHANGED",
"confidentialityImpact": "LOW",
"integrityImpact": "HIGH",
"availabilityImpact": "LOW"
},
"exploitabilityScore": 3.1,
"impactScore": 5.3
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-08-10T13:53:45.430723Z",
"id": "CVE-2026-48170",
"options": [
{
"exploitation": "poc"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-1321"
}
]
}
],
"references": [
{
"url": "https://github.com/thomaspoignant/scim-patch/commit/260f9cd2ac5ceac3976978850bb47dcb391720f6",
"source": "[email protected]"
},
{
"url": "https://github.com/thomaspoignant/scim-patch/security/advisories/GHSA-9m6g-wc8r-q59c",
"source": "[email protected]"
},
{
"url": "https://github.com/thomaspoignant/scim-patch/security/advisories/GHSA-9m6g-wc8r-q59c",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0"
}
]
}