La compilazione JIT, o compilazione just-in-time, è una tecnica di prestazioni del browser che traduce JavaScript in codice macchina mentre una pagina è in esecuzione. Invece di interpretare lentamente ogni istruzione, il browser osserva il comportamento del codice e genera codice nativo più veloce per i percorsi comuni. Questo migliora la velocità, ma significa anche che il motore JavaScript sta gestendo ottimizzazioni complesse su input di pagine web non attendibili.
In termini di sicurezza, il codice JIT ha un alto valore perché bug nell'ottimizzazione, nel tracciamento dei tipi o nella gestione della memoria possono causare arresti anomali, corruzione della memoria o, a volte, esecuzione di codice. Gli attaccanti spesso cercano di attivare questi difetti con pagine costruite con cura che stressano i casi limite del motore. I difensori vi prestano attenzione perché motori patchati, aggiornamenti del browser e una minore esposizione a JavaScript possono chiudere il percorso di attacco. Nei browser rafforzati, limitare JavaScript o mantenere aggiornato il motore è un modo pratico per ridurre il rischio legato alle vulnerabilità correlate al JIT.


