CVE-2025-27840

 CVE-2025-27840 確實存在:這個漏洞編號已正式收錄在 MITRE CVE 清單和 NVD 國家漏洞資料庫中。NVD 的描述指出:「Espressif ESP32 晶片允許執行 29 個隱藏的 HCI 指令,例如 0xFC02(寫入記憶體)」。該漏洞由西班牙資安公司 Tarlogic 的研究人員在 2025 年 3 月的 RootedCON 大會上披露​

。因此可以確認 CVE-2025-27840 是真實的安全漏洞,已在官方資料庫中記錄並公佈。Espressif 官方亦知悉此事,並於 3 月10日透過官微發表說明,強調這些隱藏指令其實是供測試用的內部調試命令,並非刻意留下的「後門」​。他們表示 Tarlogic 已更新用詞為「隱藏功能」而非「後門」,某些媒體的最初報導用詞有所誤導​。Espressif 說明這些指令無法遠程觸發,不能透過藍牙、無線電或網際網路直接存取,因此對一般使用情境不構成直接風險​

29 個隱藏指令內容與功能:研究人員透過分析 ESP32 藍牙韌體的供應商自訂 HCI 指令(Opcode Group 0x3F)區段,發現了 29 個未公開的指令​

。Tarlogic 在簡報中列出了這些指令的操作碼(0xFC01~0xFC44,不連續)及用途。以下摘錄其中主要幾類指令的功能:

  • 記憶體與快閃存取類:包括讀取記憶體 (0xFC01)寫入記憶體 (0xFC02),可直接存取控制器的RAM內容​

    。還有讀取快閃 (0xFC08)寫入快閃 (0xFC07)擦除快閃 (0xFC06)取得快閃ID (0xFC05)等,用於存取或修改ESP32內部的Flash記憶體。這些也意味著能在晶片上植入或讀出資料。另有讀取/寫入 NVDS 參數 (0xFC09/0xFC0A)刪除 NVDS 參數 (0xFC03),NVDS 是非易失性資料存儲區,可能包含裝置配置,例如校準參數或藍牙設定。

  • 裝置控制與無線參數類:包含暫存器讀/寫 (0xFC30/0xFC31),可讀取或改寫底層硬體暫存器;RF 寄存器讀/寫 (0xFC39/0xFC3A),預留給射頻設置(但簡報註明未實作)。設定 MAC 位址 (0xFC32)允許修改藍牙裝置的MAC地址(裝置位址),達成裝置身分偽裝。**設定發射功率 (0xFC3B)**可調整無線電的 Tx 功率等級(用於射頻測試或調校)。**設定 BLE 參數 (0xFC40)寫入 BLE 預設值 (0xFC41)**則用於調整低功耗藍牙的連線參數或預設組態。**開關共存模式 (0xFC0B)控制 Wi-Fi/Bluetooth 共存機制的啟停,可能影響無線協調。還有讀取核心統計 (0xFC10)提供控制器內部統計資訊,以及平臺重置 (0xFC11)**可讓攻擊者觸發裝置重啟。**讀取記憶體資訊 (0xFC12)**則可能提供記憶體區域的概況。

  • 低階藍牙協定封包類:這些指令繞過一般 Host/Controller 分工,允許直接注入或攔截藍牙鏈路層的封包訊息。傳送 LMP 封包 (0xFC0E)可由主機發送自訂的連線管理協定封包(LMP,用於經典藍牙裝置配對/連線層),傳送 LLCP 封包 (0xFC43)則針對低功耗藍牙的鏈路層控制協定封包(LLCP)。這意味著主機端可以發送一般情況下不允許的底層控制訊息,可能用於協定層攻擊或非常規操作。相應地,也有啟用 LLCP Pass-through (0xFC42)讓主機可以直接處理 LLCP、以及丟棄 LMP 訊息 (0xFC44)丟棄 LLCP 訊息 (0xFC36),可中止正常的藍牙握手或連線管理流程。另有重置接收計數 (0xFC37)重置發送計數 (0xFC38),可能用於清除封包計數器以隱匿通信量或進行測試。

上述每個指令原本用途多為內部調試和開發測試。例如,讀寫記憶體與暫存器方便韌體開發人員調試晶片狀態,發送/攔截底層封包可用於藍牙協定測試或驗證。這些指令平時並未公開在 Espressif 對開發者的文件中**(屬於藍牙 HCI 的供應商自訂命令空間)**。正因如此,Tarlogic 最初將它們稱作 ESP32 芯片中隱藏的「backdoor」,意指存在未告知使用者的額外功能入口。

安全性影響與攻擊情境:若攻擊者能夠利用這些指令,將對 ESP32 裝置的完整性構成威脅。研究報告指出,這些隱藏命令可用於任意讀寫晶片記憶體和快閃,意味攻擊者能竊取敏感資料或植入惡意程式至晶片。此外,MAC 位址偽裝讓攻擊者能冒充受信任的藍牙裝置身份,以在配對時騙過其他設備。更危險的是,透過 LMP/LLCP 這類底層封包的注入,攻擊者可以執行非常規的藍牙協定攻擊,例如繞過藍牙安全機制、截斷連線或發起中間人攻擊等。Tarlogic 警告這些能力可能被用來隱蔽地永久感染裝置,甚至藉由受控的 ESP32 對連網環境中的其他裝置發動攻擊。例如,受感染的ESP32可在暗中利用Wi-Fi或藍牙對鄰近設備發起滲透,成為物聯網設備中的跳板。另一個風險是供應鏈攻擊:若ESP32在出廠前或設備製造時被植入隱蔽惡意指令,攻擊者日後可遠程觸發(透過其控制的應用程式或韌體)這些隱藏功能來接管設備。

不過,需要強調的是,利用這些隱藏命令進行攻擊有相當高的門檻。CVE資料顯示此漏洞的攻擊複雜度高、需要高權限或實體接觸才能利用。換言之,攻擊者必須已能在裝置上執行任意程式碼或取得深度存取權限(例如取得裝置root權限、植入惡意韌體,或直接透過UART/USB連線)才能下達這些 HCI 指令。正如資安專家所指出的,如果攻擊者已經可以在ESP32上跑任意程式碼,那代表裝置本身早已遭到攻破,其危害程度可能超過這些調試指令本身。Espressif 官方也強調這些指令無法被遠程(無線)觸發

;只有在本地或內部軟體層面才可能執行。因此,對一般終端使用者而言,除非裝置已經遭入侵,否則這些隱藏命令不太可能成為直接攻擊途徑​。實務上更現實的風險在於某些惡意韌體或 OEM 設備製造商的惡意實作,可能故意或無意間利用這些指令來開啟隱藏功能。例如,不肖廠商或供應鏈中的攻擊者可以藉此在ESP32中埋藏隱蔽後門,以便日後存取設備。

相關技術細節與因應措施:Tarlogic 表示將在接下來數週內發布更詳細的技術報告與工具程式碼說明,以揭露這些隱藏指令的細節。目前Espressif並未發布針對此問題的固件更新或安全公告(可能因官方認為這屬正常調試功能且無遠端風險)。Espressif官方澄清這些為內部 HCI 調試指令,是實現藍牙控制器介面時的一部分,僅提供給開發人員使用,正常情況下終端使用者或遠端攻擊者無法接觸​

。他們也指出Tarlogic已將措辭從“backdoor”改為“hidden feature”(隱藏功能),以避免誤導​。多位資安專家亦支持這種看法,認為未公開的供應商指令並不罕見,許多藍牙晶片廠商(例如 Broadcom、Cypress、TI)也有類似的私人命令介面,用於韌體更新、校準等目的。是否構成漏洞取決於威脅模型:對一般用戶而言,若裝置主體與控制器本就沒有明確的權限區隔,則這些命令不致影響額外風險;但對某些高安全需求的場景而言,允許Host對Controller有如此深權限可能被視為設計隱患。針對謹慎的開發者,建議啟用ESP32的安全特性(如安全啟動 Secure Boot、快閃加密)來防範未經授權的韌體運行,避免攻擊者輕易植入能呼叫這些隱藏指令的程式碼。此外,可以持續關注 Espressif 未來的韌體更新或安全公告,瞭解官方是否提供選項停用這些調試命令。總體而言,CVE-2025-27840 所揭露的是ESP32晶片內部隱藏的調試功能,已被官方與研究單位確認存在。雖然這些指令本身提供了強大的低階控制能力,但在現實攻擊中需要配合其他漏洞或內部存取才能濫用。Espressif 對此的澄清和Tarlogic的後續更新表明,這更像是一個安全設計考量上的議題,提醒使用者和廠商注意供應鏈安全及裝置權限控管,而不是傳統意義上可被遠端利用的漏洞​

參考來源:

  • NVD 官方對 CVE-2025-27840 的條目;
  • Tarlogic 發布的新聞稿與 RootedCON 簡報摘要;
  • BleepingComputer 資安新聞對此漏洞的報導;
  • Espressif 官方對媒體的澄清聲明​
  • 資安專家對該事件的技術分析(Dark Mentor, flyingpenguin 等)。

留言