Eval injection è una vulnerabilità di sicurezza in cui input non attendibile viene passato a una funzione di valutazione dinamica e trattato come codice. Invece di gestire i dati in modo sicuro, l'applicazione esegue contenuti controllati dall'attaccante, il che può portare all'esecuzione arbitraria di comandi, al furto di dati o alla compromissione completa del server. Questo è particolarmente pericoloso nelle applicazioni web che usano funzioni in stile eval, runtime di template, parser di espressioni o funzionalità di scripting per elaborare l'input dell'utente.
Negli attacchi reali, l'eval injection spesso si manifesta quando un parametro di una richiesta raggiunge un percorso di codice destinato solo alla logica attendibile. Un piccolo errore di parsing o una convalida debole possono trasformare un campo apparentemente innocuo in un vettore di esecuzione remota di codice, a volte persino prima dell'accesso. I difensori dovrebbero evitare la valutazione dinamica dell'input dell'utente, sostituirla con parser sicuri o logica basata su liste consentite e verificare template e gestori di espressioni alla ricerca di percorsi di codice non sicuri. Sono inoltre essenziali il monitoraggio di richieste insolite e l'applicazione di patch ai componenti vulnerabili.


