În codul de referință al specificației TPM 2.0 (Trusted Platform Module) au fost identificate vulnerabilități (CVE-2023-1017, CVE-2023-1018) care permit scrierea sau citirea datelor dincolo de bufferul alocat. O atacă asupra implementărilor procesorilor criptografici care utilizează codul vulnerabil poate duce la extragerea sau rescrierea informațiilor stocate pe cip, cum ar fi cheile criptografice. Posibilitatea de a rescrie datele în firmware-ul TPM poate fi utilizată de atacatori pentru a organiza execuția propriului cod în contextul TPM, ceea ce poate fi, de exemplu, utilizat pentru a implementa backdoor-uri care funcționează pe partea TPM și nu pot fi detectate din sistemul de operare.
Vulnerabilitățile sunt cauzate de verificarea incorectă a dimensiunii parametrilor funcției CryptParameterDecryption(), care permite scrierea sau citirea a două octeți dincolo de bufferul transmis în funcția ExecuteCommand() și care conține comanda TPM 2.0. În funcție de implementarea firmware-ului, cei doi octeți rescriați pot deteriora fie memoria neutilizată, fie datele sau indicatorii din stivă.
Exploatarea vulnerabilității se realizează prin trimiterea de comenzi special formate modulului TPM (atacatorul trebuie să aibă acces la interfața TPM). Problemele au fost remediate în actualizarea specificației TPM 2.0 lansată în ianuarie (1.59 Errata 1.4, 1.38 Errata 1.13, 1.16 Errata 1.6).
Vulnerabilitatea afectează, de asemenea, biblioteca deschisă libtpms, utilizată pentru emularea software a modulelor TPM și pentru integrarea suportului TPM în hypervisoare. Vulnerabilitatea a fost remediată în versiunea libtpms 0.9.6.
Sursa: opennet.ro
