Уязвимости в еталонната реализация на TPM 2.0, позволяващи достъп до данни в крипточипа

В код с еталонна реализация на спецификацията TPM 2.0 (Trusted Platform Module) са открити уязвимости (CVE-2023-1017, CVE-2023-1018), които водят до запис или четене на данни извън определен буфер. Атака върху реализации на криптопроцесори, използващи уязвимия код, може да доведе до извличане или презаписване на информация, съхранявана на чипа, като криптографски ключове. Възможността за презапис на данни в фърмуера на TPM може да бъде използвана от атакуващия за изпълнение на свой код в контекста на TPM, което, например, може да бъде използвано за внедряване на бекдори, работещи на страната на TPM и недостъпни от операционната система.

Уязвимостите са причинени от некоректна проверка на размера на параметрите на функцията CryptParameterDecryption(), позволяваща запис или четене на два байта извън буфера, предаван на функцията ExecuteCommand() и съдържащ команда на TPM 2.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.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster