資安公司 runZero 於 7 月 1 日揭露 FatFs 函式庫存在七項漏洞。FatFs 是一款小型檔案系統函式庫,用於讓裝置讀寫 USB 隨身碟與 SD 卡上的 FAT 與 exFAT 格式,廣泛內嵌於安全攝影機、無人機、工業控制器、硬體加密錢包,以及其他基於即時作業系統(Real-Time Operating System,RTOS)的裝置韌體中。目前尚無利用上述漏洞發動攻擊的報告。
漏洞影響範圍與嚴重性
runZero 將七項漏洞的 CVSS 評分定為中等至高危,未出現重大等級。在受影響最嚴重的系統上,攻擊者若將特製 USB 隨身碟、SD 卡或更新檔案送入裝置,即可觸發記憶體損毀並執行任意程式碼。由於許多嵌入式裝置缺乏智慧型手機與桌機常見的記憶體保護機制,runZero 指出「任何實體存取都可能導致裝置被完全控制」。
七項漏洞依嚴重性排序如下:
- CVE-2026-6682(CVSS 7.6):FAT32 掛載時的整數溢位(integer overflow)。錯誤運算可能導致檔案大小不正確,進而造成記憶體損毀並可能執行任意程式碼。部分韌體更新流程也可能觸發此漏洞,不限於實體媒體。
- CVE-2026-6687(CVSS 7.6):exFAT 磁碟區標籤欄位溢位,讓攻擊者取得明確的記憶體損毀切入點。
- CVE-2026-6688(CVSS 7.6):長檔名在多個專案的 FatFs 外層封裝程式碼中引發緩衝區溢位,難以僅透過修補 FatFs 內部程式碼完成修復。
- CVE-2026-6685(CVSS 6.1):碎片化磁碟區的快取處理出現數學溢位,可能在無警示下損毀資料。
- CVE-2026-6683(CVSS 4.6):exFAT 除以零錯誤,可能導致裝置當機;在韌體更新流程中甚至可能使硬體無法開機。此漏洞同樣可能透過部分韌體更新觸發。
- CVE-2026-6686(CVSS 4.6):檔案延伸超過末端時,可能洩漏先前已刪除檔案的殘留資料。
- CVE-2026-6684(CVSS 4.6):格式錯誤的 GPT 分割區表可能導致裝置在掛載時凍結。此為七項漏洞中唯一已在上游修復者,並已包含於 FatFs R0.16 版本。
受影響的平台包括 Espressif ESP-IDF、STMicroelectronics STM32Cube、Zephyr、MicroPython、ArduPilot、RT-Thread、Mbed、Samsung TizenRT 及 SWUpdate。
上游維護問題嚴峻
FatFs 由單一開發者維護。runZero 表示,曾多次嘗試聯繫該維護者,並透過日本電腦網路危機處理暨協調中心(JPCERT/CC)協助聯繫,仍未獲回應。除
CVE-2026-6684 的 GPT 當機問題已在最新版本中修復外,其餘記憶體損毀漏洞目前均無上游修補程式,需由下游廠商自行修補。runZero 預估,下游修復可能需要數年而非數天,並以 2024 年 PixieFail 漏洞批次事件作為前例,該事件在 EDK II 韌體中揭露九項漏洞,廠商修補進度同樣緩慢;而 FatFs 的情況更棘手,因為上游維護者幾乎無回應。
runZero 已公開發布概念驗證(PoC)磁碟映像、測試框架,以及基於 QEMU 的可運作漏洞利用範例。
AI 輔助漏洞發現成為新常態
runZero 在 2017 年曾以手動方式稽核 FatFs,當時發現的問題有限。2026 年 3 月重新審查時,研究團隊改用 Visual Studio Code 搭配 GitHub Copilot 以自動模式運行,透過簡單提示詞讓 LLM 建構模糊測試(fuzzing)工具,結果發現手動稽核遺漏的漏洞,並確認其可被利用。
runZero 直接表示,若一個以現成工具組合而成的 AI 流程就能發現這些漏洞,任何人都可以做到,因此靜默持有漏洞資訊無法保護任何人。
防護建議
- 開發韌體且涉及 FAT 或 exFAT 媒體的廠商,應找出產品中內嵌的 FatFs 版本,稽核其外層封裝程式碼,並著重審查檔名與檔案大小的處理邏輯,並規劃修補計畫。
- 使用受影響裝置的用戶,應將實體連接埠與更新管道視為攻擊面,限制可插入媒體的人員範圍,並持續關注廠商的韌體更新動態。
本文轉載自 TheHackerNews。