I den referensimplementationen av TPM 2.0-specifikationen (Trusted Platform Module) har sÄrbarheter identifierats (CVE-2023-1017, CVE-2023-1018) som gör det möjligt att skriva eller lÀsa data utanför den allokerade bufferten. En attack mot implementationer av kryptoprocessorer som anvÀnder den sÄrbara koden kan leda till extraktion eller överskrivning av information som lagras pÄ chip-sidan, sÄsom kryptografiska nycklar. Möjligheten att överskriva data i TPM-firmware kan utnyttjas av en angripare för att exekvera sin kod i TPM:s kontext, vilket till exempel kan anvÀndas för att implementera backdoors som fungerar pÄ TPM-sidan och inte kan identifieras frÄn operativsystemet.
SÄrbarheterna orsakas av en felaktig verifiering av storleken pÄ parametrarna i funktionen CryptParameterDecryption(), som möjliggör skrivning eller lÀsning av tvÄ byte utanför bufferten som skickas till funktionen ExecuteCommand() och som innehÄller TPM 2.0-kommando. Beroende pÄ firmware-implementationen kan de överskrivna tvÄ byte skada bÄde oanvÀnd minne och data eller pekare i stacken.
Utnyttjande av sÄrbarheten sker genom att skicka speciellt formaterade kommandon till TPM-modulen (angriparen mÄste ha tillgÄng till TPM:s grÀnssnitt). Problemen har ÄtgÀrdats i den publicerade januariuppdateringen av TPM 2.0-specifikationen (1.59 Errata 1.4, 1.38 Errata 1.13, 1.16 Errata 1.6).
Den öppna biblioteken libtpms, som anvÀnds för programvaru-emulering av TPM-moduler och integration av TPM-stöd i hypervisorer, Àr ocksÄ sÄrbar. SÄrbarheten har ÄtgÀrdats i utgÄvan libtpms 0.9.6.
KĂ€lla: opennet.ru
