Dobësia e Reptar që prek procesorët Intel

Tavis Ormandy, një studiues sigurie në Google, ka identifikuar një dobësi të re (CVE-2023-23583) në procesorët Intel, të koduar Reptar, e cila kryesisht përbën një kërcënim për sistemet cloud që drejtojnë makina virtuale të përdoruesve të ndryshëm. Dobësia lejon që sistemi të varet ose të rrëzohet kur disa operacione kryhen në sisteme të paprivilegjuar të ftuar. Për të testuar sistemet tuaja, është publikuar një program që krijon kushte për shfaqjen e dobësive.

Teorikisht, cenueshmëria mund të përdoret për të përshkallëzuar privilegjet nga unaza e tretë në unazën e mbrojtjes zero (CPL0) dhe për të shpëtuar nga mjedise të izoluara, por ky skenar ende nuk është konfirmuar në praktikë për shkak të vështirësive të korrigjimit në nivel mikroarkitektonik. Një rishikim i brendshëm në Intel tregoi gjithashtu potencialin për shfrytëzimin e cenueshmërisë për të përshkallëzuar privilegjet në kushte të caktuara.

Sipas studiuesit, cenueshmëria është e pranishme në familjet e procesorëve Intel Ice Lake, Rocket Lake, Tiger Lake, Raptor Lake, Alder Lake dhe Sapphire Rapids. Raporti Intel përmend se problemi shfaqet duke filluar nga gjenerata e 10-të (Ice Lake) e procesorëve Intel Core dhe gjenerata e tretë e procesorëve Xeon Scalable, si dhe në procesorët Xeon E/D/W (Ice Lake, Skylake, Haswell, Broadwell , Skylake, Sapphire Rapids, Emerald Rapids, Cascade Lake, Cooper Lake, Comet Lake, Rocket Lake) dhe Atom (Apollo Lake, Jasper Lake, Arizona Beach, Alder Lake, Parker Ridge, Snow Ridge, Elkhart Lake dhe Denverton). Dobësia në fjalë u rregullua në përditësimin e djeshëm të mikrokodit 20231114.

Dobësia shkaktohet nga fakti se në rrethana të caktuara mikroarkitekturore, ekzekutimi i instruksionit "REP MOVSB" është i koduar me një parashtesë të tepërt "REX", gjë që çon në sjellje të papërcaktuar. Problemi u zbulua gjatë testimit të parashtesave të tepërta, të cilat në teori duhet të injorohen, por në praktikë çuan në efekte të çuditshme, si injorimi i degëve të pakushtëzuara dhe thyerja e kursimit të treguesit në udhëzimet xsave dhe thirrjes. Analiza e mëtejshme tregoi se shtimi i një prefiksi të tepërt në instruksionin "REP MOVSB" shkakton korruptim të përmbajtjes së buferit ROB (ReOrder Buffer) që përdoret për të porositur udhëzimet.

Besohet se gabimi është shkaktuar nga një llogaritje e gabuar e madhësisë së udhëzimit "MOVSB", e cila çon në shkeljen e adresimit të udhëzimeve të shkruara në tampon ROB pas MOVSB ​​me një prefiks të tepërt, dhe kompensimin të treguesit të instruksionit. Një desinkronizim i tillë mund të kufizohet në ndërprerjen e llogaritjeve të ndërmjetme me rivendosjen e mëvonshme të gjendjes integrale. Por nëse përplasni disa bërthama ose fije SMT në të njëjtën kohë, mund të dëmtoni gjendjen mikroarkitekturore aq sa të rrëzohet.

Burimi: opennet.ru

Shto një koment