CVE-2026-4800
lodash vulnerabile a Code Injection tramite i nomi delle chiavi di importazione di _.template
- Pubblicato
- 31 mar 2026
- Aggiornato
- 15 ott 2026
- Assegnazione CNA
- openjs
- Evidenza osservata
- 25 ago 2026
CVSS primario
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HBasso · prossimi 30 giorni
- Percentile
- 85,3%
- Data del modello
- 23 ott 2026
L'EPSS è una stima statistica, non una certezza o una misura di impatto. Combinalo con CVSS, stato KEV, esposizione e ambiente.
Riepilogo
La correzione per CVE-2021-23337 ha aggiunto la validazione per l'opzione variable in _.template ma non ha applicato la stessa validazione ai nomi delle chiavi di options.imports, ed entrambi i percorsi confluiscono nello stesso sink del costruttore Function(). Quando un'applicazione passa input non attendibile come nomi delle chiavi di options.imports, un attaccante può iniettare espressioni di parametri predefiniti che eseguono codice arbitrario al momento della compilazione del template. Inoltre, _.template utilizza assignInWith per unire gli imports, che enumera le proprietà ereditate tramite for..in, quindi se Object.prototype è stato inquinato da un altro vettore le chiavi inquinate vengono copiate nell'oggetto imports e passate a Function(). Il problema è risolto nella versione 4.18.1 per lodash, lodash-es, lodash-amd e lodash.template. Come soluzione alternativa, non passare input non attendibile come nomi delle chiavi in options.imports; utilizzare solo nomi di chiavi statici e controllati dallo sviluppatore.
Fonti
Proof-of-concept che dimostra l'esecuzione remota di codice nel template di lodash tramite prototype pollution, con analisi dettagliata del flusso dell'attacco e della tecnica di sfruttamento.
Utilizzo responsabile
Utilizza le informazioni sulla vulnerabilità solo sui sistemi che possiedi o che sei autorizzato a testare. Kitploit si collega ai metadati della ricerca pubblica e non memorizza codici exploit o payload dannosi.