資安

CVE-2026-31431「Copy Fail」:732 個位元組就能在幾乎每一台 Linux 伺服器拿到 root

2026.06.07 · 52 次瀏覽
CVE-2026-31431「Copy Fail」:732 個位元組就能在幾乎每一台 Linux 伺服器拿到 root

一個實戰利用中的核心提權,把任何半開的 web 入口放大成整機淪陷。把核心修補快篩做成月費維運的固定環節。

CVE-2026-31431,代號「Copy Fail」,CVSS 7.8,是 Linux 核心加密子系統的本地權限提升(LPE),已被 CISA 列入 KEV 名單、確認實戰利用中。Microsoft Security、Palo Alto Unit 42、Red Hat 都已發 advisory。震撼點在規模:研究者展示一支 732 位元組的 Python 腳本,就能讓任何一般使用者在幾乎所有現代 Linux 升級成 root。對任何把網站、API、資料庫跑在 Linux VPS 或雲主機的人——幾乎所有 PHP / Laravel / Nginx 工作室——這是主機等級全淪陷的漏洞。

用人話講:問題出在核心的 algif_aead 模組(AF_ALG,使用者空間加密 API)。2017 年(commit 72548b093ee3)為 AEAD 加密加的就地優化在處理記憶體時有瑕疵。攻擊鏈很短:本地低權限使用者透過 AF_ALG 觸發記憶體錯誤、拿到核心記憶體破壞、升級為 root。不需互動、不需特殊前置,只要能跑程式碼。PoC 已實質公開。

受影響範圍:所有 2017 年後、kernel 4.13 以上的發行版——Ubuntu、Amazon Linux、RHEL、Debian、SUSE、AlmaLinux 全中,數以百萬計的 production 機器。時間軸:2017 引入 → 2026-04-01 修補合併進 mainline(commit a664bf3d603d)→ 各發行版陸續推送 → CISA 因實戰利用列入 KEV。為何 24 小時內動手?因為它打破「任何能讓外人跑程式碼環境」的信任假設——攻擊者一拿到低權限 shell 就能直接變 root。

技術細節

分類:algif_aead 記憶體破壞導致的 LPE。複雜度低、需本地低權限、無需互動。檢查與緩解:

uname -r
lsmod | grep algif_aead
 
# 無法立即重開時的緩解
echo "install algif_aead /bin/true" | sudo tee /etc/modprobe.d/disable-algif_aead.conf
sudo modprobe -r algif_aead 2>/dev/null || echo "模組使用中,需重啟"
 
# 修補 + 重開
sudo apt update && sudo apt upgrade -y   # Debian/Ubuntu
# 或 sudo dnf update kernel -y           # RHEL/Alma/Rocky
sudo reboot

多數 web 主機不需要 algif_aead,封鎖通常不影響 Nginx / PHP-FPM / MySQL——但務必先在 staging 驗證。

三類讀者的立刻行動

  • 系統管理員:盤點所有主機 kernel 版本,4.13 以上全排補丁 + 重開;無法重開的先封鎖 algif_aead。優先處理多租戶與對外暴露的機器。
  • 開發者:你的 web 層是攻擊者的第一個 shell。檢查 Laravel 的上傳 RCE、unserialize 風險、過寬的 storage 權限;PHP-FPM 以非特權跑、設 open_basedir
  • 接案商:發通告給每個維運客戶,附維護視窗與固定報價,把被動風險變主動服務。

補丁 vs 緩解措施對照

情況做法風險
可重開機kernel 更新 + reboot最徹底,需停機
不能立即重開modprobe -r + blacklist暫時,重載仍有風險
模組使用中排最近視窗強制 reboot過渡期暴露
多租戶最高優先,隔離可執行程式碼者不處理=隨時被提權

IOC 與威脅情資

可疑指標:非預期載入 algif_aead;一般使用者程序突然出現 uid=0 子程序;AF_ALG socket 異常使用;短時間出現名稱可疑的數百位元組執行檔。用 auditd 監控 socket(AF_ALG, ...),對「非 root 程序衍生 root shell」設告警(Falco rule)。拿到 root 後常見:cron / systemd 持久化、清 log、橫向移動——比對 last/var/log/auth.log

不會告訴你的事

第一,CVSS 7.8 低估風險——它是 LPE,真正危險是和任意 web 漏洞串接,把「只能讀檔」放大成「整機接管」。第二,「我有打更新」不等於安全——kernel 更新必須重開機才生效,很多團隊打了 upgrade 卻不 reboot。第三,封鎖 algif_aead 若你的應用真用到 AF_ALG 會壞服務,務必先確認。

這代表的更大趨勢

「2017 的優化、2026 才爆」說明核心歷史技術債正被有系統地挖掘,揭露到實戰利用的時間窗越壓越短。kernel LPE + web RCE 的組合,正讓「主機維運」從一次性交付變成需要持續看護的服務。

我的觀點

Contrarian:對接案商維運的中小客戶,本地提權比遠端漏洞更危險,因為客戶幾乎一定有一個半開的 web 入口。攻擊者拿低權限 shell 是常態,Copy Fail 把小入侵放大成整機淪陷。ScriptWalker 的客戶看護機會:把「核心漏洞快篩 + 排程修補 + 重開機驗證」做成月費維運的固定環節,以這次 CVE 當由頭主動發客戶通告。客戶買的是「有人在替我盯著伺服器」的安心。

資料來源