科技 · 新聞解讀
OpenBSD「Big Fish」可本機提權至 root,但修補早已提供
Calif 於 10 月 16 日公開可運作的 OpenBSD 7.9 本機提權鏈。它串聯數十年前的共享記憶體計數器溢位與其他核心缺陷;OpenBSD 已在 9 月釋出相關修補。

安全公司 Calif 於 10 月 16 日發布完整 PoC,示範如何在 OpenBSD 7.9 從本機低權限使用者提權至 root。鏈條先讓有號 16 位元共享記憶體附加計數器溢位,再把競態觸發的釋放後使用與另一個越界寫入串聯。
風險確實存在,但界線同樣重要:攻擊者必須先能以本機使用者身分執行程式。公開材料沒有示範未驗證的遠端入侵。OpenBSD 早在 PoC 公開前,於 9 月 14 日發布勘誤 018、9 月 30 日發布勘誤 026。
公開利用證明了什麼
Calif 表示,利用會映射 127 個 System V 共享記憶體區段並分支 259 個程序,使附加計數器越過有號 16 位元上限;競態接著把錯誤計數轉成釋放後使用。
鏈條再透過堆積配置與另一個越界寫入修改頁表狀態,並覆寫可預測的核心函式指標。研究者在 KARL、SMAP 與 SMEP 開啟且沒有資訊洩漏漏洞下取得 root shell。
它沒有證明什麼
這是本機提權。公開路徑假設攻擊者已能在目標機器以低權限使用者執行程式;它本身不提供網路面向或未驗證入口。
獨立報導發布時,沒有 CVE,也沒有實際攻擊證據。這只是當時狀態,不能保證公開程式碼出現後不會被利用。
修補早於 PoC
OpenBSD 7.9 勘誤 018 日期為 9 月 14 日,用來防止 shmat(4) 整數溢位;勘誤 026 日期為 9 月 30 日,修正可能導致釋放後使用的核心引用計數錯誤。官方條目均涵蓋所有架構的原始碼修補。
勘誤頁指出 amd64、i386 與 arm64 可透過 syspatch 取得二進位更新;其他架構可能需要原始碼與 -stable 分支。OpenBSD 7.8 也在勘誤 054 取得共享記憶體溢位修補。
管理員如何核驗
在受支援的官方 OpenBSD 版本上,不帶選項執行 syspatch 會擷取、驗證並安裝所有缺少的二進位修補;修補是累積式,不能只選部分。-c 列出可用修補,-l 列出已安裝修補。
不要只靠作業系統版本字串判定安全。應核對已安裝修補、閱讀命令輸出,並遵循修補提供的重新啟動提示。若版本不受支援,或架構沒有必要的二進位更新,應使用專案簽署的原始碼修補與 -stable 指引。
為何修補後研究仍重要
37 年前的計數器型別只是起點。完整利用還依賴可預測的核心配置與另一個記憶體破壞原語。Calif 建議安全鏈結解除、頁表映射隨機化、配置器隨機化與編譯器邊界檢查。
對讀者而言,結論應保持狹窄:可運作利用公開後,修補核查很急迫;但不能描述成遠端接管 OpenBSD,也不能聲稱已有活躍攻擊。
