Ranjivosti u referentnoj implementaciji TPM 2.0 koje dopuštaju pristup podacima na kriptočipu

U kodu s referentnom implementacijom specifikacije TPM 2.0 (Trusted Platform Module) identificirane su ranjivosti (CVE-2023-1017, CVE-2023-1018) koje dovode do pisanja ili čitanja podataka izvan granica dodijeljenog međuspremnika. Napad na implementacije kriptoprocesora korištenjem ranjivog koda može rezultirati ekstrakcijom ili prepisivanjem podataka pohranjenih na čipu kao što su kriptografski ključevi. Sposobnost prepisivanja podataka u TPM firmveru napadač može koristiti za organiziranje izvršavanja svog koda u kontekstu TPM-a, koji se, na primjer, može koristiti za implementaciju stražnjih vrata koja rade na strani TPM-a i nisu otkrivena operativnim sustavom.

Ranjivosti su uzrokovane netočnom provjerom veličine parametara funkcije CryptParameterDecryption(), koja dopušta upisivanje ili čitanje dva bajta izvan granice međuspremnika proslijeđenog funkciji ExecuteCommand() koji sadrži naredbu TPM2.0. Ovisno o implementaciji firmvera, dva bajta koja se prepisuju mogu oštetiti neiskorištenu memoriju i podatke ili pokazivače na stogu.

Ranjivost se iskorištava slanjem posebno dizajniranih naredbi TPM modulu (napadač mora imati pristup TPM sučelju). Problemi su riješeni u ažuriranju specifikacije TPM 2.0 objavljenom u siječnju (1.59 Errata 1.4, 1.38 Errata 1.13, 1.16 Errata 1.6).

Otvorena biblioteka libtpms, koja se koristi za softversku emulaciju TPM modula i integraciju TPM podrške u hipervizore, također je ranjiva. Ranjivost je popravljena u izdanju libtpms 0.9.6.

Izvor: opennet.ru

Dodajte komentar