L'esecuzione transitoria è un comportamento della CPU in cui un processore inizia a eseguire istruzioni prima di sapere se dovrebbero davvero poter essere completate. Ciò accade durante la speculazione, ad esempio quando la CPU prevede l'esito di un ramo o la posizione dei dati. Se la previsione è errata, i risultati architetturali vengono scartati, ma il lavoro può comunque lasciare tracce nelle cache, nei predittori di diramazione o nel comportamento temporale.
I team di sicurezza se ne preoccupano perché queste tracce possono essere misurate e trasformate in canali laterali. In attacchi come Spectre, un aggressore usa l'esecuzione transitoria per far sì che un processore acceda a dati dipendenti da segreti, poi deduce il segreto dal residuo lasciato dietro di sé. Il problema non è un normale bug di memoria; è una perdita creata da funzionalità di prestazioni. Le difese includono aggiornamenti del microcodice, barriere di speculazione, mitigazioni del compilatore, hardening del kernel e la riduzione dell'esposizione nei percorsi di codice ad alto rischio, come browser, motori JIT e ambienti cloud condivisi.


