Googleov istraživač sigurnosti Tavis Ormandy identificirao je novu ranjivost (CVE-2023-23583) u Intelovim procesorima, kodnog naziva Reptar, koja prvenstveno predstavlja prijetnju cloud sustavima koji pokreću virtualne strojeve koji pripadaju različitim korisnicima. Ranjivost može uzrokovati zamrzavanje ili pad sustava prilikom izvođenja određenih operacija u neprivilegiranim gostujućim sustavima. Uslužni program koji stvara uvjete za iskorištavanje objavljen je u svrhu testiranja.
Teoretski, ranjivost bi se mogla iskoristiti za eskalaciju privilegija s prstena 3 na prsten 0 (CPL0) i izlaz iz izoliranih okruženja, ali ovaj scenarij još nije potvrđen u praksi zbog poteškoća u otklanjanju pogrešaka na mikroarhitektonskoj razini. Interno testiranje u Intelu također je pokazalo potencijal za iskorištavanje ranjivosti za eskalaciju privilegija pod određenim uvjetima.
Prema istraživaču, ranjivost utječe na obitelji Intelovih procesora Ice Lake, Rocket Lake, Tiger Lake, Raptor Lake, Alder Lake i Sapphire Rapids. Intelovo izvješće napominje da problem utječe na procesore Intel Core 10. generacije (Ice Lake) i Xeon Scalable treće generacije, kao i na Xeon E/D/W procesore (Ice Lake, Skylake, Haswell, Broadwell, Skylake, Sapphire Rapids, Emerald Rapids, Cascade Lake, Cooper Lake, Comet Lake, Rocket Lake) i Atom procesore (Apollo Lake, Jasper Lake, Arizona Beach, Alder Lake, Parker Ridge, Snow Ridge, Elkhart Lake i Denverton). Ranjivost je ispravljena u jučerašnjem ažuriranju mikrokoda 20231114.
Ranjivost je uzrokovana određenim mikroarhitekturnim stanjem gdje je izvršavanje instrukcije "REP MOVSB" kodirano redundantnim prefiksom "REX", što dovodi do nedefiniranog ponašanja. Problem je otkriven tijekom testiranja redundantnih prefiksa, koji bi teoretski trebali biti ignorirani, ali su u praksi doveli do čudnih efekata, poput ignoriranja bezuvjetnih skokova i ometanja spremanja pokazivača u instrukcijama xsave i call. Daljnja analiza otkrila je da dodavanje redundantnog prefiksa instrukciji "REP MOVSB" oštećuje sadržaj ROB-a (ReOrder Buffer), koji se koristi za poredak instrukcija.
Vjeruje se da je pogrešku uzrokovao netočan izračun veličine MOVSB instrukcije, što dovodi do poremećaja u adresiranju instrukcija zapisanih u ROB međuspremnik nakon MOVSB-a s prevelikim prefiksom i neusklađenosti pokazivača instrukcije. Ova desinkronizacija može biti ograničena na poremećaj međuizračuna s naknadnim vraćanjem konzistentnog stanja. Međutim, ako se rušenje pokrene istovremeno na više jezgri ili SMT niti, može uzrokovati dovoljnu mikroarhitekturnu korupciju da uzrokuje rušenje.
Izvor: opennet.ru
