Pubblicato il 2026-08-07 · Fonte: NVD NIST
La vulnerabilità CVE-2026-48170 è stata scoperta nella libreria scim-patch, utilizzata per eseguire operazioni di patching SCIM. La versione precedente alla 0.9.1 è vulnerabile a un attacco di prototype pollution quando si applica un'operazione di patching SCIM con un oggetto 'value' che contiene una chiave come '__proto__.someProp'. Ciò può portare a un'impostazione di Object.prototype.someProp a livello di processo, influenzando ogni oggetto semplice nel processo Node. La versione 0.9.1 contiene un patch per questa vulnerabilità.
Un attaccante potrebbe sfruttare questa vulnerabilità per eseguire un attacco di prototype pollution, influenzando ogni oggetto semplice nel processo Node. Ciò potrebbe avere un impatto significativo sui servizi che utilizzano la libreria scim-patch, in particolare quelli che accettano richieste di patching SCIM da un provider di identità esterno. La vulnerabilità può essere sfruttata su un ambiente di runtime Node standard.
Vendor: N/A
Prodotti: N/A
Per mitigare questa vulnerabilità, è consigliabile aggiornare la libreria scim-patch alla versione 0.9.1 o successiva. In alternativa, è possibile utilizzare un workaround che consiste nell'eseguire Object.freeze(Object.prototype) (e lo stesso per Array.prototype e Function.prototype) all'avvio del processo. Ciò neutralizza questa classe di vulnerabilità rendendo l'assegnazione a un prototipo congelato un'operazione silenziosa in modalità sloppy o un TypeError in modalità strict. Il flag '--frozen-intrinsics' di Node esegue automaticamente questa operazione per gli elementi predefiniti.
La vulnerabilità CVE-2026-48170 è una vulnerabilità di prototype pollution nella libreria scim-patch che può essere sfruttata per influenzare ogni oggetto semplice nel processo Node.
L'impatto della vulnerabilità è critico, con un CVSS Score di 9.1, e può portare a un controllo non autorizzato degli oggetti nel processo Node.
Per proteggersi da questa vulnerabilità, è consigliabile aggiornare la libreria scim-patch alla versione 0.9.1 o successiva, o utilizzare un workaround come l'esecuzione di Object.freeze(Object.prototype) all'avvio del processo.
Vuoi approfondire la cybersecurity? Scopri il libro "Ethical Hacker per Tutti" oppure prenota una lezione online.