V kodi referenčne implementacije specifikacije TPM 2.0 (Trusted Platform Module) so bile odkrite ranljivosti (CVE-2023-1017, CVE-2023-1018), ki omogočajo pisanje ali branje podatkov zunaj dodeljenega pomnilnika. Napad na implementacije kriptoprocesorjev, ki uporabljajo ranljiv kodo, lahko privede do pridobitve ali prepisovanja informacij, shranjenih na čipu, kot so kriptografski ključi. Možnost prepisovanja podatkov v vdelani programski opremi TPM lahko napadalec izkoristi za izvajanje svojega kode v okviru TPM, kar se lahko na primer uporabi za uresničitev backdoor-ov, ki delujejo na strani TPM in niso prepoznavni iz operacijskega sistema.
Ranljivosti so povzročene zaradi nepravilne preverjanja velikosti parametrov funkcije CryptParameterDecryption(), ki omogoča pisanje ali branje dveh bajtov zunaj pomnilnika, ki se posreduje funkciji ExecuteCommand() in vsebuje ukaz TPM2.0. Glede na implementacijo vdelane programske opreme lahko prepisana dva bajta poškodujeta tako neuporabljeni pomnilnik kot tudi podatke ali kazalnike na堆。
Izkoriščanje ranljivosti se odvija prek pošiljanja specifično oblikovanih ukazov TPM-modulu (napadalec mora imeti dostop do vmesnika TPM). Težave so odpravljene v različici specifikacije TPM 2.0, izdani januarja (1.59 Errata 1.4, 1.38 Errata 1.13, 1.16 Errata 1.6).
Ranljivost je podvržena tudi odprti knjižnici libtpms, ki se uporablja za programsko emulacijo TPM-modulov in integracijo podpore TPM v hipervizorje. Ranljivost je odpravljena v različici libtpms 0.9.6.
Izvor: opennet.ru
