U jezgri Linux U verziji 6.2 otkrivena je ranjivost (CVE-2023-1998) koja onemogućuje zaštitu od Spectre v2 napada, koji omogućuju pristup memoriji drugih procesa koji se izvode u različitim SMT ili Hyper-Threading nitima, ali na istoj fizičkoj jezgri procesora. Ranjivost se, između ostalog, može koristiti za curenje podataka između virtualnih strojeva u cloud sustavima. Problem utječe samo na kernel. Linux 6.2 i uzrokovana je neispravnom implementacijom optimizacija osmišljenih za smanjenje značajnog opterećenja prilikom primjene Spectre v2 zaštite. Ranjivost je ispravljena u eksperimentalnoj grani kernela. Linux 6.3.
Kako bi se zaštitili od Spectre napada, procesi korisničkog prostora mogu selektivno onemogućiti izvršavanje spekulativnih instrukcija pomoću prctl PR_SET_SPECULATION_CTRL ili koristiti filtriranje sistemskih poziva temeljeno na seccomp-u. Prema istraživačima, netočna optimizacija u kernelu 6.2 koja je otkrila problem ostavila ga je bez odgovarajuće zaštite. virtualni strojevi barem jedan veliki pružatelj usluga u oblaku, unatoč omogućavanju načina blokiranja napada spectre-BTI putem prctl-a. Ranjivost se također manifestira redovito poslužitelji s kernelom 6.2, koji koriste postavku "spectre_v2=ibrs" prilikom učitavanja.
Ranjivost proizlazi iz optimizacija uvedenih pri odabiru IBRS ili eIBRS načina zaštite, koji onemogućuju mehanizam Single Thread Indirect Branch Predictors (STIBP), koji je potreban za blokiranje curenja pri korištenju simultanog višenitnog rada (SMT ili Hyper-Threading). Međutim, samo eIBRS način rada pruža zaštitu od curenja između niti, a ne IBRS način rada, jer se IBRS bit, koji pruža zaštitu od curenja između logičkih jezgri, briše iz razloga performansi pri vraćanju kontrole u korisnički prostor, ostavljajući niti korisničkog prostora ranjivima na Spectre v2 napade.
Izvor: opennet.ru
