Natukoy ng mananaliksik sa seguridad ng Google na si Tavis Ormandy ang isang bagong kahinaan (CVE-2023-23583) sa mga processor ng Intel, na pinangalanang Reptar, na pangunahing nagdudulot ng banta sa mga cloud system na nagpapatakbo ng mga virtual machine na pagmamay-ari ng iba't ibang user. Ang kahinaan ay maaaring magdulot ng pag-hang o pag-crash ng system kapag nagsasagawa ng ilang partikular na operasyon sa mga hindi magandang sistema ng bisita. Ang isang utility na lumilikha ng mga kundisyon para sa pagsasamantala ay nai-publish para sa mga layunin ng pagsubok.
Sa teoryang, ang kahinaan ay maaaring pagsamantalahan upang palakihin ang mga pribilehiyo mula sa ring 3 hanggang sa ring 0 (CPL0) at makatakas sa mga nakahiwalay na kapaligiran, ngunit ang sitwasyong ito ay hindi pa nakumpirma sa pagsasanay dahil sa mga kahirapan sa pag-debug sa antas ng microarchitectural. Ang panloob na pagsubok sa Intel ay nagpakita rin ng potensyal para sa pagsasamantala sa kahinaan para sa pagtaas ng pribilehiyo sa ilalim ng ilang mga kundisyon.
Ayon sa mananaliksik, ang kahinaan ay nakakaapekto sa Ice Lake, Rocket Lake, Tiger Lake, Raptor Lake, Alder Lake, at Sapphire Rapids na mga pamilya ng mga processor ng Intel. Sinasabi ng ulat ng Intel na ang isyu ay nakakaapekto sa 10th-generation (Ice Lake) Intel Core processors at third-generation Xeon Scalable processors, pati na rin ang Xeon E/D/W processors (Ice Lake, Skylake, Haswell, Broadwell, Skylake, Sapphire Rapids, Emerald Rapids, Cascade Lake, Cooper Lake, Comet Lake at processor ng Lake Allo, Cooper Lake, Comet Lake at Allo. Arizona Beach, Alder Lake, Parker Ridge, Snow Ridge, Elkhart Lake, at Denverton). Naayos ang kahinaan sa microcode update kahapon na 20231114.
Ang kahinaan ay sanhi ng isang partikular na kondisyon ng microarchitectural kung saan ang pagpapatupad ng "REP MOVSB" na pagtuturo ay naka-encode ng isang kalabisan na prefix na "REX", na humahantong sa hindi natukoy na gawi. Natuklasan ang isyu sa panahon ng pagsubok ng mga kalabisan na prefix, na ayon sa teorya ay dapat balewalain ngunit sa pagsasagawa ay humantong sa mga kakaibang epekto, tulad ng pagwawalang-bahala sa mga unconditional jumps at pag-abala sa pag-save ng pointer sa xsave at mga tagubilin sa tawag. Ang karagdagang pagsusuri ay nagsiwalat na ang pagdaragdag ng isang kalabisan na prefix sa pagtuturo ng "REP MOVSB" ay nakakasira sa mga nilalaman ng ROB (ReOrder Buffer), na ginagamit para sa pag-order ng pagtuturo.
Ang error ay pinaniniwalaan na sanhi ng hindi tamang pagkalkula ng laki ng pagtuturo ng MOVSB, na humahantong sa isang pagkagambala sa pagtugon sa mga tagubilin na nakasulat sa ROB buffer pagkatapos ng MOVSB na may labis na prefix, at isang misalignment ng pointer ng pagtuturo. Maaaring limitado ang desynchronization na ito sa pag-abala sa mga intermediate na kalkulasyon na may kasunod na pagpapanumbalik ng pare-parehong estado. Gayunpaman, kung ang pag-crash ay na-trigger nang sabay-sabay sa maraming core o SMT thread, maaari itong magdulot ng sapat na microarchitectural na katiwalian upang magdulot ng pag-crash.
Pinagmulan: opennet.ru
