Уязвимости вызваны некорректной проверкой размера параметров функции CryptParameterDecryption(), допускающей запись или чтение двух байтов за границей буфера, передаваемого в функцию ExecuteCommand() и содержащего команду TPM2.0. В зависимости от реализации прошивки перезаписываемые два байта могут повредить как неиспользуемую память, так и данные или указатели в стеке.
Эксплуатация уязвимости осуществляется через отправку TPM-модулю специально оформленных команд (атакующий должен иметь доступ к интерфейсу TPM). Проблемы устранены в выпущенном в январе обновлении спецификации TPM 2.0 (1.59 Errata 1.4, 1.38 Errata 1.13, 1.16 Errata 1.6).
Уязвимости также подвержена открытая библиотека libtpms, применяемая для программной эмуляции TPM-модулей и интеграции поддержки TPM в гипервизоры. Уязвимость устранена в выпуске libtpms 0.9.6.
Источник: http://www.opennet.ru/opennews/art.shtml?num=58758