Vulnerabilitats en la implementació de referència TPM 2.0 que permeten accedir a les dades del criptoxip

En el codi amb la implementació de referència de l'especificació TPM 2.0 (Mòdul de plataforma de confiança), es van identificar vulnerabilitats (CVE-2023-1017, CVE-2023-1018) que condueixen a escriure o llegir dades més enllà dels límits de la memòria intermèdia assignada. Un atac a les implementacions de processadors criptogràfics que utilitzen codi vulnerable podria provocar l'extracció o la sobreescritura de la informació emmagatzemada al xip, com ara les claus criptogràfiques. Un atacant pot utilitzar la capacitat de sobreescriure dades al firmware del TPM per organitzar l'execució del seu codi en el context del TPM, que, per exemple, es pot utilitzar per implementar portes posteriors que operen al costat del TPM i que no es detectin. pel sistema operatiu.

Les vulnerabilitats són causades per una verificació incorrecta de la mida dels paràmetres de la funció CryptParameterDecryption(), que permet escriure o llegir dos bytes més enllà del límit del buffer passat a la funció ExecuteCommand() i que conté l'ordre TPM2.0. Depenent de la implementació del microprogramari, els dos bytes que es sobreescriuen poden corrompre tant la memòria no utilitzada com les dades o els punters de la pila.

La vulnerabilitat s'aprofita enviant ordres dissenyades especialment al mòdul TPM (l'atacant ha de tenir accés a la interfície TPM). Els problemes es van resoldre a l'actualització de l'especificació TPM 2.0 publicada al gener (1.59 Errata 1.4, 1.38 Errata 1.13, 1.16 Errata 1.6).

La biblioteca oberta libtpms, que s'utilitza per a l'emulació de programari de mòduls TPM i la integració del suport de TPM als hipervisors, també és vulnerable. La vulnerabilitat es va solucionar a la versió libtpms 0.9.6.

Font: opennet.ru

Afegeix comentari