2017年以來的每一臺Linux服務器,都可能被732字節的Python代碼攻破。這不是演習——安全公司Theori用AI掃了一小時,就找到了這個潛伏七年的"復制失敗"漏洞。
一個命名很誠實的漏洞
![]()
漏洞代號CVE-2026-31431,研究人員給它起了個直白的外號:"Copy Fail"(復制失敗)。名字來源于Linux內核的splice()系統調用——這個設計用來"零拷貝"傳輸數據的機制,反而成了攻擊者的跳板。
Theori的研究人員發現,問題藏在authencesn加密模板里。這是個處理認證加密數據的內核組件,本該確保數據完整性,卻允許認證用戶向系統上任何可讀文件的頁緩存寫入4個字節。
4個字節能干什么?如果這4字節精準命中一個設置了setuid-root權限位的二進制文件,就能篡改它的執行邏輯。下次有人運行這個文件時,攻擊者就拿到了root權限。
漏洞影響范圍堪稱"全覆蓋":Ubuntu、Amazon Linux、RHEL、SUSE全部中招。所有2017年后發布的Linux內核版本都存在這個問題。
攻擊鏈拆解:三件套組合技
這個漏洞的精巧之處在于,它不需要復雜的競爭條件(競態攻擊),也不用針對特定內核版本硬編碼偏移量。BleepingComputer的分析揭示了攻擊路徑:
第一步,利用AF_ALG套接字接口。這是Linux從用戶空間訪問內核加密功能的通道,原本的設計意圖是讓應用程序能調用內核級的加密算法,而不必自己實現。
第二步,調用splice()系統調用。這個調用的設計目標是在內核地址空間內部移動數據,避免數據在用戶空間和內核空間之間來回拷貝——也就是所謂的"零拷貝"優化。
第三步,把這兩樣東西串起來。正常情況下,splice()應該把數據從一個文件描述符搬到另一個。但當源端是AF_ALG套接字、且使用了有缺陷的authencesn模板時,數據目的地變成了頁緩存本身,而且寫入位置可以被精準控制。
Theori的描述很技術化:"a straight-line logic flaw"——直線路徑邏輯缺陷。翻譯成人話:攻擊代碼按順序執行就能成功,不需要碰運氣等競態窗口。
AI挖洞:一小時 vs 七年
這個漏洞最諷刺的細節是發現方式。Theori沒有派出一隊安全研究員手工審計代碼,而是動用了自家產品:Xint Code,一個AI驅動的滲透測試平臺。
任務目標很明確:掃描Linux加密子系統。掃描時間很具體:一小時。
結果就是一個影響全球數百萬臺服務器、潛伏七年的高危漏洞。732字節的Python利用代碼,從掃描到武器化,效率堪稱恐怖。
這引出了一個尷尬的問題:Linux內核的代碼審計流程,在AI面前顯得有點慢。不是內核開發者不專業——authencesn模板的問題確實隱蔽,涉及splice()和加密子系統的交互邊界。但AI的掃描速度和覆蓋范圍,確實改變了漏洞發現的成本結構。
容器環境尤其危險。很多云原生部署共享同一個內核,一旦宿主機內核有漏洞,所有容器都暴露在橫向移動的風險下。傳統的"容器隔離"假設,在這種內核級漏洞面前形同虛設。
修復現狀與行動清單
好消息是補丁已經可用。主流發行版都發布了安全更新,壞消息是打補丁需要重啟——對追求高可用的生產環境來說,這永遠是道選擇題。
如果你管理Linux服務器,現在該做的事:
確認內核版本。2017年之后的全部在風險范圍內,不要心存僥幸。
檢查發行版安全公告。Ubuntu、RHEL、SUSE、Amazon Linux都有對應的CVE-2026-31431補丁包。
評估重啟窗口。如果暫時無法重啟,考慮限制本地用戶權限、監控可疑的AF_ALG套接字使用——但這只是緩解,不是根治。
容器用戶額外注意:宿主機內核是共享的,打補丁優先級應該高于容器鏡像更新。
這個漏洞的命名"Copy Fail"帶點黑色幽默——本意是加速數據傳輸的零拷貝機制,反而成了權限提升的捷徑。技術債的償還方式總是出人意料,而AI正在加速賬單的到來。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.