Debian 11 避免 CVE-2026-98432 解法

Linux 核心爆重大漏洞 CVSS 達 9.8 分:CVE-2026-98432

CVE-2026-98432 是一個影響 Linux 核心 IPv4 TCP 網路堆疊的嚴重 Use-After-Free (UAF) 記憶體安全漏洞(競爭條件漏洞)

只要發送惡意構造的並發 TCP SYN 封包,就能引發記憶體競爭錯誤,直接造成 Kernel Panic / 當機,甚至串成更高權限的攻擊

Debian 11 避免 CVE-2026-98432 解法

Linux 的漏洞編號 CVE-2026-98432

  • 涉及核心網路堆疊中的競爭條件與釋放後使用(use-after-free)問題
  • 在啟用多路徑 TCP(MPTCP)的伺服器上驗證,攻擊者無須帳號認證,就可能從遠端執行具有 root 權限的指令
  • 發生原因:處理 TCP 3次握手(tcp_v4_syn_recv_sock)時,對於請求套接字選項(ireq_opt)的擁有權轉移未進行深層複製,導致並發處理重傳 SYN 封包時產生競態條件(Race Condition)與記憶體釋放後重用

Kernel 這次的漏洞看起來很嚴重,但是系統版本是 Debian 11(Bullseye),已經沒有維護,所以只好找第三方維護的版本來用:

Debian 11 更新 Kernel 解 CVE-2026-98432

安裝 Debian 11 ELTS 版本

  1. uname -r
    • 5.10.0-44-amd64
  2. sudo wget https://deb.freexian.com/extended-lts/archive-key.gpg -O /etc/apt/trusted.gpg.d/freexian-archive-extended-lts.gpg
  3. sudo vim /etc/apt/sources.list.d/extended-lts.list
    • deb http://deb.freexian.com/extended-lts bullseye-lts main contrib non-free
  4. sudo apt update
  5. sudo apt upgrade # 或 sudo apt install --only-upgrade linux-image-amd64 linux-headers-amd64
  6. uname -r
    • 5.10.0-47-amd64 # 升級完成
  7. reboot

若是上述的無法執行,可以考慮下述這種作法:(註:我使用上面作法,下面作法就參考看看)

暫解方式:關閉多路徑 TCP (MPTCP) 與 IPv4 選項

如果無法立即更換 Kernel,可以透過關閉漏洞觸發路徑來阻斷攻擊面(此漏洞主要與網路堆疊中的 inet_opt 與 ireq_opt 以及 MPTCP 相關):

  1. 完全停用 MPTCP:
    • Server 不需要同時使用多個網路介面(如 4G + Wi-Fi / 雙網卡綁定)來傳輸同一個連線,直接關閉
      • sudo sysctl -w net.mptcp.enabled=0
      • echo "net.mptcp.enabled=0" | sudo tee -a /etc/sysctl.conf
  2. 透過防火牆(iptables / nftables)丟棄帶有 IP Options 的封包:
    • 該漏洞利用了 IPv4 的特定選項欄位。一般正常的網路流量極少使用 IP Options。可以防火牆強制丟棄這些潛在的惡意攻擊封包:
    • 丟棄所有包含 IP 選項的 IPv4 封包
      • sudo iptables -A INPUT -m osf --genre Linux -j DROP 2>/dev/null || true
    • 或者使用更精準的 iptables 規則(拒絕所有帶有 options 的 IP 標頭)
      • sudo iptables -A INPUT -m u32 --u32 "0&0x0F000000=0x05000000" -j ACCEPT # 檢查 IP 標頭長度,如果大於 20 位元組(代表含有 Options)則丟棄
      • sudo iptables -A INPUT -j DROP

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料。