Linux 七條 stable 同日修補 IPv4 校驗和漏洞 CVE-2026-99999
LWN.net / kernel CVE 公告 · 2026-10-15
Linux 核心在 IPv4 路徑上完成校驗和之前,原本完全不檢查 checksum 起點是否合法,這次補上了驗證。修補隨 Greg Kroah-Hartman 在 2026-10-15 發布的七條 stable 核心一起推出,漏洞編號為 CVE-2026-99999,CVSS v3.1 評分 9.3(Critical)。
公告標題為 ipv4: validate checksum_start before completing checksum,通報者署名為 "Paulos"。
漏洞機制
依公告原文,如果帶有錯誤 checksum 中繼資料的封包進入 IPv4 協定堆疊,skb_checksum_help() 可能破壞網路標頭。LWN 引述修補作者 Michael S. Tsirkin 的說法,結果是會造成「一堆麻煩」(mischief)。
核心的 checksum offload 機制讓上層先記下「從哪個位置開始算校驗和」,再由 skb_checksum_help() 在需要時由軟體補算(機制說明見核心文件)。問題在於這個起點由封包的中繼資料帶入,之前沒有人驗證它。
公告自己也承認,這類封包「原本就不該被放進來」,現在的檢查只是縱深防禦。完整的輸入端驗證「還在進行中,但需要更多工作」,也就是說這次的補丁不是最終解。
受影響版本
引入點是 commit f43798c27684,進入核心的版本為 2.6.27,所以幾乎所有仍在維護的分支都受影響。公告列出的修補版本與 commit 如下:
| 分支 | 修補版本 | commit |
|---|---|---|
| 5.10 | 5.10.272 | a464d950f31c |
| 5.15 | 5.15.223 | 0fab003ef469 |
| 6.1 | 6.1.190 | 94524b7b3269 |
| 6.6 | 6.6.159 | a65f69e0f38f |
| 6.12 | 6.12.113 | 32a8b0adaa18 |
| 6.18 | 6.18.57 | f3e835af6226 |
| 7.2 | 7.2.11 | c3e334647461 |
| 7.3-rc7 | 7.3-rc7 | 6785011f8b16 |
公告未說明 2.6.27 與 5.10 之間未列出的分支是否受影響,也未說明個別發行版的 backport 狀況。
修補範圍
補丁動到六個檔案,不只 IPv4 輸出路徑本身:
include/net/ip.h、net/ipv4/ip_output.c:IPv4 輸出路徑與共用的檢查net/netfilter/xt_CHECKSUM.c、net/netfilter/nfnetlink_queue.c:netfilter 的 CHECKSUM target 與 NFQUEUEnet/bridge/netfilter/nf_conntrack_bridge.c:bridge 上的 conntracknet/xfrm/xfrm_output.c:IPsec(xfrm)輸出
從檔案清單可以判斷,跑 netfilter、bridge 或 IPsec 的系統走到這段程式的機會更多。這是依檔案名稱做的推論,公告並未明列哪些設定可被觸發。
修補與緩解
kernel CVE 團隊的建議只有一條:升級到最新的 stable 核心,並明說不建議、也不支援自行 cherry-pick 單一 commit。公告沒有提供不升級也能用的緩解設定。
- 自己編核心或維護 LTS 分支的團隊:升到上表對應版本,不要只挑 commit。
- 用發行版核心的人:確認發行版是否已把這七條 stable 的修補納入,並重開機載入新核心。
- 管理 NAS、路由器、容器宿主等長期運行設備的人:這類設備常停在 5.10 或 5.15 這類舊分支,要看廠商韌體何時跟上
5.10.272、5.15.223。
另外因為完整的輸入驗證尚未完成,之後預期還會有追加補丁,升級後仍要留意後續 stable 更新。