BTR otkriva memoriju Linuxa uprkos zaštitama od Spectre-v2

Istraživači iz VUSec-a i Scuola Superiore Sant'Anna objavili su BTR, novu varijantu ranjivosti Spectre-v2 koja pogađa JIT mehanizme u Mozilla SpiderMonkeyju, GraalVM-u i Linux cBPF JIT-u. Dva dokaza koncepta protiv Linux jezgra uspela su da sa potpuno zakrpljenog Intel sistema, uz podrazumevano uključene zaštite, izvuku i oporave heš lozinke root naloga za nekoliko minuta.
Kako funkcioniše Branch Target Reuse
BTR je skraćenica za Branch Target Reuse, odnosno ponovnu upotrebu cilja grananja. Napad se oslanja na to što procesori nakon izmene koda vraćaju arhitektonsku konzistentnost koda, ali ne moraju da ponište zastarele unose za predviđanje indirektnih grananja.
U JIT okruženju takav unos može da nadživi originalni kod. Kada se keš koda ponovo popuni i deo memorijske oblasti upotrebi za novi kod, procesor može spekulativno da skoči na nekadašnji cilj. Istraživači taj efekat opisuju kao prolazni ekvivalent izvršavanja nakon oslobađanja memorije.
Napadač najpre navodi JIT da dodeli memoriju za deo koda koji služi za obuku prediktora i prisiljava žrtvinu granu da skoči na njega. Zatim oslobađa taj deo, dodeljuje novu oblast koja delimično koristi istu adresu i ponovo aktivira indirektno grananje. Ako procesor izabere zastareli unos iz Branch Target Buffer-a, spekulativno izvršavanje prati stari cilj.
Posledice za Linux i JIT okruženja
Rezultat može biti preusmeravanje prolaznog toka izvršavanja na arhitektonski nevažeću ulaznu tačku. Time se mogu zaobići mere za ublažavanje Spectre napada ili izvršiti neporavnate instrukcije, a tajni podaci se zatim zaključuju merenjem promena u kešu.
Ranjivost pretpostavlja da napadač može da pokrene neprivilegovan kod unutar JIT mehanizma i pokušava da otkrije osetljive podatke iz okruženja domaćina. Pogođeni proizvodi nemaju istu praktičnu iskoristivost ni brzinu curenja podataka, ali Linux demonstracije pokazuju da podrazumevane odbrane nisu bile dovoljne u testiranom scenariju.
Nakon odgovornog prijavljivanja, mere za BTR objavljene su i uključene u Linux jezgro kao CVE-2026-64507 i CVE-2026-64508. GraalVM otežava ponovnu upotrebu oblasti randomizacijom lokacija JIT keša, dok Mozilla razmatra zaštitu zasnovanu na IBPB-u, uz prioritet završetka i uvođenja izolacije sajtova.
Praktičan korak za organizacije
Timovi koji održavaju Linux sisteme treba prioritetno da provere da li njihove verzije jezgra sadrže zakrpe za CVE-2026-64507 i CVE-2026-64508, naročito tamo gde se koriste JIT radna opterećenja. Uvođenje ažuriranja i popis okruženja u kojima neprivilegovani kod može da aktivira JIT ostaju konkretan poslovni zaključak za smanjenje izloženosti ovom napadu.

