TPM 2.0 參考實現中的漏洞允許訪問加密芯片中的數據

在TPM 2.0(可信任平台模組)規範的參考實現的程式碼中,發現了漏洞(CVE-2023-1017、CVE-2023-1018),這些漏洞會導致寫入或讀取資料超出分配的緩衝區的範圍。 使用易受攻擊的程式碼對加密處理器的實作進行攻擊可能會導致提取或覆蓋片上儲存的資訊(例如加密金鑰)。 攻擊者可以利用覆蓋 TPM 韌體中資料的能力在 TPM 上下文中組織其程式碼的執行,例如,可用於實現在 TPM 端運行且未被檢測到的後門由作業系統。

這些漏洞是由於對 CryptParameterDecryption() 函數參數大小的錯誤驗證造成的,該函數允許在傳遞給 ExecuteCommand() 函數並包含 TPM2.0 命令的緩衝區邊界之外寫入或讀取兩個位元組。 根據韌體實現,被覆蓋的兩個位元組可能會損壞未使用的記憶體和堆疊上的資料或指標。

該漏洞是透過向 TPM 模組發送專門設計的命令來利用的(攻擊者必須有權存取 TPM 介面)。 這些問題已在 2.0 月發布的 TPM 1.59 規範更新中解決(1.4 Errata 1.38、1.13 Errata 1.16、1.6 Errata XNUMX)。

用於 TPM 模組的軟體模擬以及將 TPM 支援整合到虛擬機器管理程式中的 libtpms 開放庫也容易受到攻擊。 漏洞已在 libtpms 0.9.6 版本中修復。

來源: opennet.ru

添加評論