Spectre-v2 è una classe di attacco a esecuzione speculativa che prende di mira la previsione dei rami indiretti. Invece di violare direttamente la memoria, avvelena o devia lo stato del predittore della CPU in modo che il processore segua speculativamente un percorso influenzato dall'attaccante. Quel lavoro speculativo può esporre segreti attraverso canali laterali, anche se le istruzioni mal predette vengono in seguito annullate.
Questo è importante perché i rami indiretti sono comuni nei kernel, nei browser, nei runtime e nei motori JIT. Se lo stato del predittore persiste tra il riuso del codice o i confini di privilegio, una cronologia obsoleta può influenzare nuovo codice e creare una via di fuga di dati. Le difese si concentrano sulla limitazione di quello stato condiviso con misure come retpoline, IBPB, IBRS, STIBP e tecniche correlate di cancellazione della cronologia dei rami. In pratica, Spectre-v2 riguarda meno il blocco di un sistema e più la trasformazione delle funzionalità di prestazione in fughe di informazioni, quindi la mitigazione dipende dal fatto che CPU, sistema operativo e runtime gestiscano tutti con attenzione la previsione dei rami.


