Në UEFI-frikimet Phoenix SecureCore, që përdoren në shumë laptopë, PC dhe servera me procesorë Intel, është identifikuar një dobësi (CVE-2024-0762), e cila lejon, nëse keni akses në sistemin tuaj, të arrini ekzekutimin e kodit në nivelin e frikimit. Kjo dobësi mund të përdoret pas një sulmi të suksesshëm ndaj sistemit për të lënë një backdoor në frikim, që operon mbi sistemin operativ, duke anashkaluar mekanizmat e sigurimit të OS-së, duke qenë i padukshëm për programet që zbulojnë malware dhe duke ruajtur praninë e saj pas riinstalimit të OS-së.
Dobësia shkaktohet nga përdorimi i pasigurt i variablës TCG2_CONFIGURATION në konfigurimin e TPM (Trusted Platform Module), manipulimet me të cilat mund të çojnë në mbushjen e burimeve dhe ekzekutimin potencial të kodit me privilegje të UEFI-frikimit, pra në nivelin SMM (System Management Mode), një nivel më të lartë sesa ai i hipervizorit dhe rrethin zero të mbrojtjes, duke ofruar qasje të pakufizuar në të gjithë memorizimin e sistemit. Dobësia është present në kodin e përpunimit të konfigurimit të TPM në UEFI dhe shfaqet pavarësisht pranisë së çipit TPM.
Shkaku i mbushjes së panevojshme është thirrja e gabuar dy herë e shërbimit UEFI GetVariable, në rastin kur vlera e TCG2_CONFIGURATION tejkalon madhësinë e buferrit fillestar të rezervuar në grumbull, duke pasur parasysh se në të dy thirrjet është përdorur të njëjtin variabël me madhësinë data_size pa e ndryshuar atë pas thirrjes së parë. Nëse një sulmues ka mundësinë të ndryshojë vlerën e variablës UEFI TCG2_CONFIGURATION gjatë punës së sistemit, ai mund ta vendosë atë mjaft të madhe në mënyrë që thirrja e parë të kthejë kodin EFI_BUFFER_TOO_SMALL. Si rezultat, pas thirrjes së parë vlera e data_size, përveç madhësisë fillestare të buferrit, do të vendoset në madhësinë e vlerës së variablës TCG2_CONFIGURATION, dhe thirrja e dytë do të çojë në mbushjen e buferrit.
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-t 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ë kryer një sulm në një sistem të caktuar varet nga cilësimet e firmware-it dhe mundësia e aksesit në variablën TCG2_CONFIGURATION. Një shembull i shfrytëzimit të këtij 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ë adresuar në përditësimet e firmware-it të prillit dhe majit nga Technologies dhe Lenovo.
Burimi: opennet.ru
