La valutazione di espressioni è l'elaborazione in fase di esecuzione di testo o dati come logica, ad esempio formule, predicati o chiamate di metodi. Nel software aziendale, i framework possono usarla per instradare richieste, leggere campi degli oggetti, associare parametri o calcolare regole di accesso. È utile perché rende le applicazioni flessibili e configurabili senza modificare il codice.
Dal punto di vista della sicurezza, la valutazione di espressioni diventa pericolosa quando input non attendibili possono influenzare l'espressione stessa o i dati su cui viene risolta. Un attaccante può iniettare un payload che legge valori sensibili, attiva metodi indesiderati o modifica il flusso di controllo. I difensori considerano queste funzionalità parte della superficie di attacco e riducono il rischio evitando la valutazione dinamica su input dell'utente, usando allowlist, disabilitando i motori di espressioni non necessari e separando i dati dalla logica eseguibile. Negli ecosistemi Java, la gestione delle espressioni è comune nei framework e quindi richiede un'attenta revisione durante le attività di patching e di audit del codice.


