VUSec décrit Branch Target Reuse (BTR), une variante de Spectre v2 qui exploite des prédictions indirectes périmées après la libération puis la réutilisation d’une zone de code JIT. Dans deux exploits de bout en bout sur le JIT cBPF de Linux, le groupe rapporte avoir récupéré le hash du mot de passe du compte root dans la mémoire d’un processus su en cours d’exécution. Un hash n’est pas le mot de passe en clair : il faudrait encore le casser, et la réussite dépend de l’algorithme de hachage et de la robustesse du mot de passe.
Branch Target Reuse et le hash récupéré sous Linux
BTR s’appuie sur un décalage entre les prédictions de branchement du processeur et le code présent à une adresse donnée. VUSec décrit deux exploits Linux cBPF de bout en bout : l’un dans la configuration par défaut, l’autre avec l’obfuscation des constantes activée. Le débit de fuite rapporté est de huit octets par seconde ; le chaînage de pointeurs réduit la quantité de données à lire pour atteindre le secret.
Les chercheurs ont rapporté une récupération du hash en trois minutes en moyenne sur Raptor Cove et cinq minutes sur Lion Cove lors de l’exploit de bout en bout. Ces durées concernent le hash, pas le déchiffrement du mot de passe en clair.
Comment une ancienne prédiction vise du code JIT réutilisé
Un moteur JIT compile du code pendant l’exécution d’un programme. Lorsqu’il libère une zone de code, une nouvelle portion de code peut ensuite reprendre la même adresse. Or le processeur peut conserver en mémoire une ancienne prédiction de branchement indirect, c’est-à-dire la destination anticipée d’un saut dont la cible est calculée pendant l’exécution.
Avec BTR, cette prédiction périmée peut diriger l’exécution spéculative vers le nouveau code à un décalage qui ne correspond plus au parcours prévu. L’exécution spéculative est une avance provisoire du processeur avant qu’il ait déterminé le chemin définitif. VUSec a utilisé des programmes cBPF accessibles à des programmes non privilégiés et installés comme filtres seccomp pour sa démonstration Linux. Le groupe distingue cette voie de l’eBPF JIT, réservé aux utilisateurs privilégiés.
Résultats Linux, SpiderMonkey et GraalVM
Les résultats varient selon le moteur. Pour Firefox SpiderMonkey, VUSec rapporte une preuve de concept montrant que les prédictions périmées survivent à un cycle complet de libération et de réallocation du code, mais pas un exploit complet du navigateur.
Dans les expériences sur Oracle GraalVM, l’équipe a étudié un contournement spéculatif d’un masque de sandbox. La compilation et le ramasse-miettes ont effacé les entrées du prédicteur avant qu’une attaque soit menée à terme.
La mesure d’atténuation Linux signalée
VUSec indique que les développeurs du noyau Linux ont intégré en amont une atténuation x86. Celle-ci déclenche une barrière de prédiction de branchement indirect (IBPB) sur tous les cœurs lorsqu’un programme cBPF réutilise une zone précédemment exécutée par cBPF ou eBPF, et vise aussi à décourager cette réutilisation. VUSec associe aux problèmes les identifiants CVE-2026-64507 et CVE-2026-64508.
Le groupe recommande d’installer les mises à jour du système d’exploitation et des logiciels lorsque les correctifs proposés par leurs éditeurs sont disponibles.
Périmètre des CPU testés et publication prévue
VUSec indique avoir confirmé le comportement sur chaque processeur testé, parmi des processeurs Intel, AMD et Arm. Cette observation porte sur les puces testées ; les durées rapportées pour la récupération du hash sous Linux concernent Raptor Cove et Lion Cove.
L’article scientifique consacré à BTR, accepté pour ACM CCS 2026, est prévu pour novembre 2026.