Në kodin e implementimit referent të specifikimit TPM 2.0 (Moduli i Platformës së Besueshme) janë identifikuar dobësi (CVE-2023-1017, CVE-2023-1018) që çojnë në shkruajtjen ose leximin e të dhënave jashtë kufijve të memorizimit të ndarë. Një sulm ndaj implementimeve të procesorëve kriptografikë që përdorin kodin e dobët mund të çojë në nxjerrjen ose rishkrimin e informacionit të ruajtur në anën e çipit, siç janë çelësat kriptografikë. Mundësia e rishkrimit të të dhënave në firmware-in TPM mund të përdoret nga sulmuesi 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ë realizuar backdoor-e që funksionojnë në anën e TPM dhe nuk identifikohen nga sistemi operativ.
Dobësitë shkaktohen nga kontrolli i papërshtatshëm i madhësisë së parametrave në funksionin CryptParameterDecryption(), i cili lejon shkruajtjen ose leximin e dy byte-ve jashtë memorizimit të kaluar në funksionin ExecuteCommand() dhe që përmban komandën TPM2.0. Në varësi të implementimit të firmware-it, dy byte-t e rishkruara mund të dëmtojnë si memorien e papërdorur, ashtu edhe të dhënat ose treguesit në stack.
Ekspluatimi i dobësisë realizohet përmes dërgimit të komandave të formatizuara posaçërisht për modulit TPM (sulmuesi duhet të ketë qasje në ndërfaqen TPM). Problemet janë eliminuar në përditësimin e publikuar në janar për specifikimin TPM 2.0 (1.59 Errata 1.4, 1.38 Errata 1.13, 1.16 Errata 1.6).
Dobësitë janë gjithashtu të prekshme në bibliotekën e hapur libtpms, e përdorur për emulimin programor të moduleve TPM dhe integrimin e mbështetjes TPM në hipervizorë. Dobësia është eliminuar në versionin libtpms 0.9.6.
Burimi: opennet.ru
