Vulnerabilitet në firmware-t UEFI të Phoenix, që prekin shumë pajisje me CPU Intel

Në firmware-t UEFI Phoenix SecureCore, të përdorura në shumë laptopë, PC dhe serverë me procesorë Intel, është identifikuar një vulnerabilitet (CVE-2024-0762) që lejon ekzekutimin e kodit në nivelin e firmware-s nëse ka akses në sistem. Ky vulnerabilitet mund të përdoret pas kryerjes me sukses të një sulmi ndaj sistemit për të lënë një backdoor në firmware që punon mbi sistemin operativ, duke shmangur mekanizmat e sigurisë së OS-së, duke kaluar pa u vënë re nga programet e zbulimit të malware dhe duke ruajtur praninë e tij edhe pas rinstalimit të OS-së.

Vulnerabiliteti shkaktohet nga përdorimi i pasigurt i variablës TCG2_CONFIGURATION në konfigurimin e TPM (Trusted Platform Module), manovrimi me të cilin mund të çojë në mbushjen e tamponit dhe ekzekutimin potencial të kodit me privilegje të firmware-s UEFI, dmth. në nivelin SMM (System Management Mode), më të privilegjuar se moda e hipervizorit dhe zero-ring i mbrojtjes, që ofron akses të pakufizuar në të gjithë memorien e sistemit. Ky vulnerabilitet është prezent në kodin e përpunimit të konfigurimit TPM në UEFI dhe shfaqet pavarësisht nga prania e çipit TPM.

Shkaku i mbushjes së tamponit është thirrja e dyfishtë e papërshtatshme e shërbimit UEFI GetVariable nga firmware, në rastin kur vlera e TCG2_CONFIGURATION tejkalon madhësinë fillestare të tamponit të alokuar në stack, përderisa në të dy thirrjet është përdorur e njëjta variablë me madhësinë data_size pa e ndryshuar atë pas thirrjes së parë. Nëse sulmuesi ka mundësinë të ndryshojë vlerën e variablës UEFI TCG2_CONFIGURATION gjatë punës së sistemit, ai mund ta caktuar atë mjaft të madhe në mënyrë që thirrja e parë të kthejë kodin EFI_BUFFER_TOO_SMALL. Meqenëse pas thirrjes së parë vlera data_size është caktuar në madhësinë e vlerës së variablës TCG2_CONFIGURATION në vend të madhësisë fillestare të tamponit, thirrja e dytë do të çojë në mbushjen e tamponit.

void Function_0000537c(void){


ulonglong data_size;
char buffer [8];



EVar1 = (*gRS_2->GetVariable)
((CHAR16 *)TCG2_CONFIGURATION, &gTCG2_CONFIG_FORM_SET_GUID,
(UINT32 *)0x0, &data_size, buffer);

if (EVar1 == EFI_BUFFER_TOO_SMALL) {
EVar1 = (*gRS_2->GetVariable)
((CHAR16 *)TCG2_CONFIGURATION,&gTCG2_CONFIG_FORM_SET_GUID,
(UINT32 *)0x0,&data_size,buffer)

Problemi shfaqet në firmware Phoenix SecureCore, të përdorura në pajisjet me procesorë Intel të familjeve AlderLake, CoffeeLake, CometLake, IceLake, JasperLake, KabyLake, MeteorLake, RaptorLake, RocketLake dhe TigerLake. Mundësia për të realizuar një sulm mbi një sistem të caktuar varet nga konfigurimi i firmware-it dhe mundësia për të hyrë në variablën TCG2_CONFIGURATION. Një shembull i shfrytëzimit të kësaj vulnerabiliteti është demonstruar në laptopët Lenovo ThinkPad X1 Carbon të gjeneratës Gen dhe Lenovo ThinkPad X1 Yoga të gjeneratës 4. Vulnerabiliteti është eliminuar në përditësimet e firmware-it të prillit dhe majit nga Technologies dhe Lenovo.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster