Në kodin e implementimit standard të specifikacionit TPM 2.0 (Moduli i Besuar i Platformës) janë identifikuar dobësi (CVE-2023-1017, CVE-2023-1018) që mundësojnë shkrimin ose leximin e të dhënave jashtë kufijve të tamponit të caktuar. Një sulm ndaj implementimeve të procesorëve kriptografikë që përdorin kodin e prekshëm mund të çojë në nxjerrjen ose riprogramimin e informacionit të ruajtur në çip, siç janë çelësat kriptografikë. Mundësia për të riprogramuar të dhënat në firmware-in TPM mund të përdoret nga një sulmues për të organizuar ekzekutimin e kodit të tij në kontekstin e TPM, i cili, për shembull, mund të përdoret për të implementuar backdoor që veprojnë nga ana e TPM dhe nuk mund të identifikohen nga sistemi operativ.
Dobësitë janë shkaktuar nga kontrolli i papërshtatshëm i madhësisë së parametrave të funksionit CryptParameterDecryption(), që lejon shkrimin ose leximin e dy bajtëve jashtë kufijve të tamponit të dorëzuar në funksionin ExecuteCommand() dhe që përmban komandën TPM2.0. Në varësi të implementimit të firmware-it, dy bajtët e riprogramuar mund të dëmtojnë si memorien e pa përdorur ashtu edhe të dhënat ose treguesit në stack.
Shfrytëzimi i dobësisë realizohet duke dërguar komanda të strukturuara në mënyrë të veçantë moduleve TPM (sulmuesi duhet të ketë akses në ndërfaqen TPM). Problemet janë zgjidhur në përditësimin e lëshuar në janar të specifikacionit TPM 2.0 (1.59 Errata 1.4, 1.38 Errata 1.13, 1.16 Errata 1.6).
Dobësitë janë të ekspozuara gjithashtu në bibliotekën e hapur libtpms, e cila përdoret për emulimin softuerik të moduleve TPM dhe integrimin e mbështetjes TPM në hypervisors. Dobësia është zgjidhur në lëshimin libtpms 0.9.6.
Burimi: opennet.ru
