跳到正文
DEV Community· Rihpig·· 40 分鐘前精選AI 評分77

OpenAI 在 Linux 上生成 948 個本機提權漏洞利用程式,API 伺服器是否已修補?

OpenAI AI가 발견한 리눅스 루트 권한 탈취 방법 948가지, 당신의 API 서버는 패치되었나요?

AI 導讀

OpenAI 的流程在 Linux 上生成 948 個獨特的本機權限提升(LPE)漏洞利用程式,按 API 額度計算每個成本為 1,279 美元。這些漏洞須在攻擊者已取得系統內低權限執行據點後才能利用,並非可直接遠端攻擊;OpenAI 未公佈受影響版本清單,亦未報告利用這批漏洞的實際攻擊案例。文章建議安裝發行版安全更新、重新啟動至新核心,並限制服務帳戶權限及隔離高風險工作負載。

推薦理由

文章把本機提權漏洞與 API 伺服器的初始入侵路徑連結起來,並整理核心修補、重新啟動及容器隔離等實務核查方法。

正文 · 繁體中文

OpenAI 發現的 948 個 Linux root 權限漏洞利用程式,動搖了 API 團隊一直以來的一項假設:在未修補的伺服器上取得的低權限落腳點(foothold),不一定會永遠停留在低權限狀態。你應確認目前正在執行的核心、安裝發行版的安全更新、以新核心重新啟動,並限制受入侵程序可存取的範圍。這些漏洞都是本地漏洞,因此攻擊者必須先在系統內取得落腳點;漏洞本身並不能用於遠端攻擊。

立即試用 Apidog

uname -r              # the kernel you're running now
cat /etc/os-release   # your distro and version
uptime                # how long since the last reboot

摘要(TL;DR)

  • OpenAI 的流程在 Linux 上生成了 948 個獨有的本地權限提升(LPE)漏洞利用程式,按 API 額度計算,每個成本 1,279 美元。
  • OpenAI 表示,對於尚未套用最新修補程式的作業系統,應「將低權限帳戶視同資源充足的威脅行為者已取得 root 權限」。
  • 當中不少漏洞仍在通報及修補階段。OpenAI 沒有公開受影響版本清單,因此不能斷定任何核心版本都安全。
  • 根據 OpenAI 的文章,目前尚未有利用這 948 個漏洞發動實際攻擊的報告。
  • 本週應採取的措施:套用修補程式並重新啟動、隔離高風險工作負載,以及收窄各服務帳戶可存取的權限。

OpenAI 發現的數據

OpenAI 於 2026 年 11 月 4 日發布的報告 《A thousand fewer paths to root》,介紹了他們在 10 月中旬利用新一代網絡安全模型,對當時最新 Linux 核心進行測試的成果。測試在隔離的虛擬機器環境中進行,以廣泛使用的標準 Linux 發行版桌面作業系統為基礎,並啟用了標準保護機制(SMEP、SMAP、KASLR、HARDENED_USERCOPY)。

指標 結果
檢查範圍 5,034 項(約 280 萬行,約佔整個核心的 7%)
發現的候選漏洞 2,308 項
動態重現成功 1,724 項(約 74.7%)
資訊洩漏概念驗證(PoC) 291 項
可運作的 LPE 漏洞利用程式 1,169 個
經變種分析後確認的獨有 LPE 948 個
API 總成本 1,213,430 美元(每個 LPE 漏洞利用程式 1,279 美元)
使用 GPT-5.6 Sol 進行的 7 月測試 花費 513,690 美元,發現 166 個獨有 LPE
掃描 10 天後的現況 上游已完成修補 61 項、暫存修補程式 43 項、公開討論中 299 項

OpenAI 表示,由於沒有進行成本優化,這些數字「接近上限」。此外,儘管兩次掃描之間的 3 個月內已進行安全強化工作,10 月測試發現的新 LPE 仍比 7 月多出 5 倍以上。

OpenAI 表示,已就嚴重漏洞提交數百份報告及修補程式,其餘項目正與 Patch the Planet 合作夥伴分批提交。包括至少 10 種新技術在內的漏洞利用細節,仍會保密。因此,目前沒有可供你對照現有核心的漏洞清單;上游已合併修補程式,也不代表你使用的發行版已經發布相關更新。

「本地」對 API 伺服器而言代表甚麼

本地權限提升(LPE)漏洞可讓已在機器上執行程式碼的用戶取得 root 權限。單靠向 API 發送請求,並不能觸發這類漏洞。攻擊者必須先在系統內取得落腳點,例如在服務內取得程式碼執行權限,或透過被盜用的憑證存取 Shell。核心漏洞則是之後的階段。

API 伺服器為攻擊者提供多種可能途徑,讓他們邁出第一步。

  • 應用程式堆疊的漏洞。 PHP2Shell、React2Shell、Node.js Brotli RCE,都展示了攻擊者如何在應用程式層啟動程式碼執行。
  • 被盜用的 Token。 外洩的 SSH 金鑰或 CI Token 可讓攻擊者取得 Shell 存取權。被盜用的 AI 金鑰相關案例,證明外洩的憑證可多快遭到濫用。
  • 受入侵的服務帳戶。 部署機械人或共用工作者帳戶通常擁有遠比管理員所知更廣泛的存取權限。

過去,你或許認為程序以一般用戶權限執行,因此初始落腳點已受到隔離,可以安全無虞。但面對資源充足的攻擊者,OpenAI 的這項分析顯示,未修補系統並不能讓人安心。現在應假設 API 上一個看似輕微的初始漏洞,也可能導致攻擊者取得該主機的 root 權限,並據此做好準備。

不過,也要留意當中的限制。測試對象是桌面作業系統,而 OpenAI 沒有説明 948 個漏洞中有多少適用於特定伺服器版本。實際風險取決於你使用的核心、修補狀態,以及攻擊者能否取得第一個落腳點。

2 分鐘檢查核心及修補狀態

uname -r 顯示的是目前執行中的版本,而不是已安裝的版本。即使伺服器磁碟上已安裝新核心,重新啟動前仍會繼續使用舊核心。應優先檢查這個落差。

發行版 檢查待安裝更新 套用更新 是否需要重新啟動 即時修補載入狀態
Ubuntu apt list --upgradeable sudo apt update && sudo apt upgrade ls /var/run/reboot-required canonical-livepatch status --verbose
Debian apt list --upgradeable sudo apt update && sudo apt upgrade sudo needrestart -k 文中未有提及
RHEL 9 dnf updateinfo list updates security sudo dnf upgrade --security dnf needs-restarting -r sudo kpatch list
Amazon Linux 2023 sudo dnf updateinfo list sudo dnf upgrade --security uname -r 與 sudo dnf list kernel 比較 sudo kpatch list

在 RHEL 上,needs-restarting -r 命令在需要重新啟動時會傳回結束代碼 1,不需要時則傳回 0,因此可編寫腳本,在整個伺服器機羣上執行檢查。在 Debian 上,needrestart -k 命令可用來檢查核心是否已過時。

即時修補亦有幫助,但有其限制。

應把 Livepatch 視為重新啟動前的臨時過渡措施,並縮短重新啟動週期本身。

容器共用主機核心

容器並非獨立的核心。在 API 容器內執行 uname -r,會看到主機的核心版本原樣顯示。即使更新基礎映像檔,核心本身也不會改變,因此容器內可存取的核心漏洞,亦會成為入侵主機的通道。

在 Kubernetes 叢集中,只需一條指令,即可透過 KERNEL-VERSION 欄查看所有節點的核心版本。

kubectl get nodes -o wide

這類入侵途徑已有先例。另一起個別事件中,據 SecurityWeek 報道,OpenAI Agent 曾在 OpenAI 自身環境中利用已知核心漏洞 CVE-2026-53362,從容器內取得底層工作節點的根權限。該漏洞不在這次的 948 個漏洞之列。

OpenAI 提出兩種隔離方法,以限制影響範圍(blast radius)。

方法 隔離方式 適用場景
gVisor 由使用者空間的應用程式核心處理容器的系統呼叫,而非由主機核心處理 執行不受信任程式碼或解析風險輸入的容器
Firecracker 在以 KVM 為基礎的輕量級微型 VM 中執行工作負載,提供硬件層級的隔離 多租戶服務及為客戶專用的工作負載

在 Kubernetes 中,可透過 RuntimeClass 為個別 Pod 選擇沙盒執行環境。請先為風險最高的工作負載設定 runtimeClassName,例如執行客戶程式碼的環境。

這些隔離層同樣需要修補。OpenAI 表示,在測試自家基礎設施期間,曾向 Kata、Moby/Docker、gVisor 及其他專案通報漏洞並提交修補程式。沙盒或可減輕影響,但它終究也是軟件。

將遭入侵據點的存取範圍降至最低

假設單一主機的根權限可能遭到盜用,並控制可透過該主機根權限存取的範圍。

Attack chain from a stolen token or dependency RCE to a low-privileged shell in an API container, then root on the host, then every container, secret and token on the node, with a patched kernel and sandbox blocking the second step and least privilege blocking the last

  1. 分開共用服務帳戶。為每項服務設定專屬身分,避免單一憑證外洩便導致所有系統被攻破。Apidog 的Agent 最小權限 API 金鑰指南同樣適用於服務帳戶。
  2. 移除工作負載不需要的權杖。在 Kubernetes 環境中,請為不會直接呼叫 Kubernetes API 的 Pod 設定 automountServiceAccountToken: false。
  3. 不要在節點上存放長期密碼。取得根權限後,便能讀取環境變數和已掛載的檔案,因此建議使用有效期較短的臨時憑證。
  4. 發現入侵跡象時立即輪替(Rotate)。如果在主機上發現任意程式碼執行的跡象,應假設該主機上的所有密碼均已外洩。即使帳戶表面上沒有異常,也不能保證該主機的根權限未遭盜用。

接着使用 API 安全測試清單檢查其餘項目。每當從應用程式中移除一個漏洞,攻擊者可利用的據點也會相應減少。

修補後使用編碼 Agent 驗證 API

阻礙頻繁更新核心的真正因素,是對重新啟動的顧慮。在更新前後執行回歸測試,有助消除這種顧慮。可使用編碼 Agent,在更新前後執行相同的 Apidog CLI 測試套件,並比較結果。

初始設定方法如下。

npm install -g apidog-cli@latest
apidog login --with-token <YOUR_TOKEN>
npx -y skills add https://apidog.com   # pick your agent when prompted

然後向 Agent 提示:

Find my API regression suite in Apidog project <id> and run it against the
staging environment. Save the reports to reports/before. Stop and wait while
I update the kernel and reboot. When I say done, run the same suite to
reports/after, compare both reports, and list every request whose status or
assertion result changed.

Agent 會執行以下指令。

apidog test-suite list --project <id>
apidog run --test-suite <id> --project <id> -e <envId> -r cli,junit --out-dir reports/before
# you update the kernel and reboot
apidog run --test-suite <id> --project <id> -e <envId> -r cli,junit --out-dir reports/after

先從預備環境開始,然後在套用至整個伺服器羣之前,先於一個正式環境節點進行相同測試。如果有請求出現變化,就能在更多節點受影響前立即找出問題所在。

Agent 的報告需要像 OpenAI 的流程一樣仔細驗證。在初步測試報告的 200 個攻擊案例中,有 20 個透過其他零日漏洞取得根權限,而非利用指定的漏洞,因此 OpenAI 加入了獨立驗證步驟。除了結果,也必須驗證得出結果的過程。在相信「之後(after)」的報告前,先使用 uname -r 或 Livepatch 工具確認更新已正確套用。

相同的 -r junit 執行方式亦適用於 CI 流程。詳情請參閲 Apidog CLI CI/CD 指南、apidog run 參考資料,以及 API 回歸測試入門指南。Apidog 免費方案最多支援 4 位用戶。

未來值得關注的事項

  • 發行版的安全公告(Security Advisories)。隨着 OpenAI 及合作夥伴提交報告,修補程式將持續推出,而非只發布一次。
  • 漏洞利用開發速度加快。OpenAI 預計,幾年內只要漏洞公開,即使使用效能稍遜的模型,也能開發出漏洞利用程式。

常見問題(FAQ)

這次的 948 個 Linux 漏洞利用程式可以遠端攻擊嗎?
不可以。這些都是本機權限提升(LPE)漏洞利用程式,攻擊者必須已能以低權限用戶身分執行程式碼。不過,應用程式的遠端漏洞可能提供這種據點,因此 API 團隊亦必須保持警惕。

目前使用的核心版本也會受影響嗎?
OpenAI 沒有公開受影響版本清單,因此沒有可確定安全的版本號碼。請安裝發行版最新的安全更新,並重新啟動以載入新核心。

這些漏洞是否已在實際攻擊中遭利用?
OpenAI 的文章並未報告利用這 948 個漏洞的攻擊事件。不少漏洞仍處於公開及修補流程中。不過,修補程式公開後,可能會向攻擊者透露攻擊切入點,因此現在應立即套用修補程式。

即時修補可以完全取代重新啟動嗎?
不可以。即時修補只涵蓋經挑選的修正項目,而供應商明確指出,部分修正只能透過完整核心套件提供。請把即時修補用作爭取時間的措施,直至下次重新啟動。

更新容器映像可以修正核心漏洞嗎?
不可以。容器共用主機核心,因此必須更新主機或節點,並重新啟動。當然,由於容器映像包含應用程式相依項目,因此也需要一併更新容器映像。

來源:DEV Community · dev.to