I kÀrnan Linux 6.2 har en sÄrbarhet (CVE-2023-1998) upptÀckts som avaktiverar skyddet mot Spectre v2-attacker, vilket kan ge tillgÄng till minnet hos andra processer som körs i olika SMT- eller Hyper-Threading-trÄdar, men pÄ samma fysiska processor-kÀrna. SÄrbarheten kan bland annat utnyttjas för att organisera datalÀckor mellan virtuella maskiner i molnsystem. Problemet berör endast kÀrnan Linux 6.2 och orsakas av en felaktig implementering av optimeringar avsedda att minska de betydande overheadkostnaderna vid anvÀndning av skyddet mot Spectre v2. SÄrbarheten har ÄtgÀrdats i den experimentella versionen av kÀrnan Linux 6.3.
I anvÀndarrummet kan processer selektivt avaktivera spekulativ exekvering av instruktioner för att skydda sig mot Spectre-attacker med hjÀlp av prctl PR_SET_SPECULATION_CTRL eller genom att anvÀnda filtrering av systemanrop baserat pÄ seccomp-mekanismen. Enligt de forskare som upptÀckte problemet lÀmnade felaktig optimering i kÀrnan 6.2 ett stort molnleverantör utan adekvat skydd virtuella maskiner trots att attackblockeringslÀget spectre-BTI aktiverades via prctl. SÄrbarheten upptrÀder ocksÄ pÄ vanliga servrar med kÀrnan 6.2, dÀr startinstÀllningen «spectre_v2=ibrs.» anvÀnds.
Essensen av sÄrbarheten ligger i att nÀr skyddslÀgena IBRS eller eIBRS valdes, avaktiverades de implementerade optimeringarna av STIBP-mekanismen (Single Thread Indirect Branch Predictors), som Àr nödvÀndig för att blockera lÀckor vid anvÀndning av samtidig flertrÄdad teknik (SMT eller Hyper-Threading). Endast lÀget eIBRS ger skydd mot lÀckage mellan trÄdar, medan lÀget IBRS inte gör det, eftersom i detta lÀge rensas IBRS-biten, som skyddar mot lÀckor mellan logiska kÀrnor, av prestandaskÀl nÀr kontrollen ÄtergÄr till anvÀndarrummet, vilket gör trÄdar i anvÀndarrummet oskyddade mot Spectre v2-attacker.
KĂ€lla: opennet.ru
