Google-un təhlükəsizlik üzrə tədqiqatçısı Tavis Ormandy Intel prosessorlarında Reptar kod adlı yeni zəifliyi (CVE-2023-23583) müəyyən edib ki, bu, ilk növbədə müxtəlif istifadəçilərə məxsus virtual maşınları idarə edən bulud sistemləri üçün təhlükə yaradır. Zəiflik, imtiyazsız qonaq sistemlərində müəyyən əməliyyatları yerinə yetirərkən sistemin dayanmasına və ya çökməsinə səbəb ola bilər. İstismar üçün şərait yaradan yardım proqramı sınaq məqsədi ilə nəşr edilmişdir.
Nəzəri olaraq, zəiflikdən imtiyazları 3-cü zəngdən 0-a (CPL0) artırmaq və təcrid olunmuş mühitlərdən qaçmaq üçün istifadə edilə bilər, lakin mikroarxitektura səviyyəsində sazlamada çətinliklər səbəbindən bu ssenari hələ də praktikada təsdiqlənməmişdir. Intel-də aparılan daxili sınaqlar müəyyən şərtlər altında imtiyazların artırılması üçün zəiflikdən istifadə potensialını da nümayiş etdirdi.
Tədqiqatçının sözlərinə görə, zəiflik Intel prosessorlarının Ice Lake, Rocket Lake, Tiger Lake, Raptor Lake, Alder Lake və Sapphire Rapids ailələrinə təsir göstərir. Intel-in hesabatında qeyd edilir ki, problem 10-cu nəsil (Ice Lake) Intel Core prosessorlarına və üçüncü nəsil Xeon Scalable prosessorlarına, həmçinin Xeon E/D/W prosessorlarına (Ice Lake, Skylake, Haswell, Broadwell, Skylake, Sapphire Rapids, Emerald Rapids, Cascade Lake, Lakers Lake və Cooper prosesi), Alotom proseslərinə təsir göstərir. Göl, Jasper gölü, Arizona çimərliyi, Alder gölü, Parker silsiləsi, Qar silsiləsi, Elkhart gölü və Denverton). Boşluq dünənki 20231114 mikrokod yeniləməsində aradan qaldırılıb.
Zəifliyə müəyyən mikroarxitektura şəraiti səbəb olur, burada "REP MOVSB" təlimatının icrası lazımsız "REX" prefiksi ilə kodlaşdırılır və qeyri-müəyyən davranışa səbəb olur. Problem nəzəri cəhətdən nəzərə alınmalı olan, lakin praktikada qeyd-şərtsiz atlamalara məhəl qoymamaq və xsave və zəng təlimatlarında göstərici qənaətini pozmaq kimi qəribə təsirlərə səbəb olan lazımsız prefikslərin sınaqdan keçirilməsi zamanı aşkar edilib. Sonrakı təhlillər göstərdi ki, "REP MOVSB" təlimatına lazımsız prefiksin əlavə edilməsi, təlimatların sifarişi üçün istifadə edilən ROB (ReOrder Bufer) məzmununu korlayır.
Səhv MOVSB təlimat ölçüsünün səhv hesablanması nəticəsində yarandığı güman edilir ki, bu da həddindən artıq prefikslə MOVSB-dən sonra ROB buferinə yazılmış təlimatların ünvanlanmasının pozulmasına və təlimat göstəricisinin yanlış hizalanmasına səbəb olur. Bu desinxronizasiya ardıcıl vəziyyətin sonrakı bərpası ilə aralıq hesablamaların pozulması ilə məhdudlaşa bilər. Bununla belə, əgər qəza eyni vaxtda birdən çox nüvədə və ya SMT ipində tetiklenirse, bu, qəzaya səbəb olmaq üçün kifayət qədər mikroarxitektura pozğunluğuna səbəb ola bilər.
Mənbə: opennet.ru
