漏洞技術細節:PXE 驅動程式中的緩衝區溢位

CVE-2026-97631 是一個存在於 EDK2 網路堆疊 ICMP 解析器中的記憶體損壞缺陷,具體位於 PXE Base Code 驅動程式(NetworkPkg/UefiPxeBcDxe)。該驅動程式負責允許伺服器、儲存設備及其他裝置透過從本地網路下載的程式碼進行開機。

在預執行環境開機過程中,驅動程式會監聽 ICMP 錯誤訊息並將其複製到固定為 504 字節的欄位中。然而,IPv4 與 IPv6 處理常式的邊界檢查邏輯有誤:當訊息長度超過 504 字節時,程式碼仍會繼續寫入資料,且目標指標推進的是累積長度而非單一片段長度,導致攻擊者可控制的位元組覆蓋到相鄰記憶體區域。

一旦 CPU 執行的 UEFI 模組發生損壞,攻擊者即可植入「偽造事件」以執行惡意程式碼。這些程式碼在 Ring 0(CPU 最高特權執行層級)運行,能夠繞過旨在向遠端伺服器證明硬體安全的認證流程,從而獲得提升系統權限的機會。

攻擊條件與限制:需具備區域網路存取權

利用此漏洞並非毫無門檻。攻擊者必須對目標設備所在的本地網路擁有一定程度的控制權,這意味著潛在威脅主要來自內部人員、國家級行為者或已獲得低階網路存取權的勒索軟體營運商。目前尚無證據顯示該漏洞可作為進入網路的初始入口點。

此外,攻擊者需要猜測目標系統中的特定記憶體位址,因此無法使用單一通用攻擊程式碼覆蓋所有不同型號、版本或配置的設備。Jesse Michael(Eclypsium 首席研究員)指出,攻擊需針對每個目標模型進行調整,因為位址會隨配置改變。

該漏洞僅影響從本地網路或可能從網際網路資源開機的組織,且必須依賴 EDK2 參考實作並啟用預設開啟的 PXE 功能。一般家庭用戶、小型辦公室用戶或僅從磁碟驅動器開機的設備不受影響。

產業反應與受影響範圍的不確定性

Intel 表示其目前處於安全支援狀態的商業產品已知未受影響,因為 Intel 參考程式碼不包含受影響的 EDK2 功能,但提醒客戶需向系統製造商確認,因 OEM 廠商可能整合了該元件。Arm 也回應稱此 CVE 不直接適用於其产品組合,但其提供的韌體同樣大量借用 EDK2 架構。

儘管 Intel 與 Arm 聲稱其產品未受影響,但 TianoCore 文件指出這些公司的開發套件是基於特定版本的 EDK II 原始碼驗證過的實作。因此,所有伺服器用戶仍應調查自身設備是否受 CVE-2026-97631 影響。

截至報導發布時,AMD、Phoenix Technologies、AMI、Microsoft 和 Amazon 等主要潛在受影響組織尚未回應相關詢問。由於缺乏這些關鍵供應商對 EDK2 使用情況的具體說明,難以確定哪些設備確切受影響以及用戶應採取何種行動。

修復難度與歷史漏洞對比

與 BootHole、BlackLotus 等需要處理 Secure Boot 金鑰撤銷或更新 OS 佈署媒體的複雜漏洞不同,CVE-2026-97631 可透過基本的程式碼修復解決。這意味著只需部署 BIOS/UEFI 更新即可,無需進行 pk/kek/db/dbx 金鑰管理更新。

然而,在數百萬台由數千家硬體製造商和雲端供應商銷售與使用的終端設備上修補 UEFI 程式碼漏洞仍然繁瑣且耗時。HD Moore(Dragos 首席研究官)指出,考慮到該漏洞的普遍性,它很可能成為一個「永遠存在」的錯誤,長期存活於已停止支援的系統中。

此漏洞並非首次發現的 UEFI 相關問題。過去曾出現 LogoFail、PixieFail、PKFail 等嚴重漏洞,這些問題同樣允許攻擊者在 TPM 和其他防禦機制載入前感染機器,從而造成最大損害。

披露過程與社群建議

發現者 Anthropic 的 Alex Matrosov 和 Google 的 Dan Holmes 原計劃於一月進行協調披露,但 AMI 上月發布的一個詳細說明漏洞並包含修復程式碼的 Pull Request 打破了保密協議。隨後 TianoCore Project 成員於上週發布了公開公告。

由於修補程式碼已公開,進階駭客可以輕鬆了解漏洞觸發機制並構建可用的攻擊利用方式。建議受影響用戶檢查韌體製造商的指引,並在可能的情況下暫時關閉網路開機功能。

雖然啟用 TPM 和 Secure Boot 等安全功能是良好習慣,但這些防禦機制無法保護設備免受此特定威脅的影響。用戶應監控日誌以尋找利用嘗試的跡象。