共計 1868 個字符,預計需要花費 5 分鐘才能閱讀完成。
漏洞簡介
CVE-2026-31431 是 Linux kernel crypto algif_aead 組件的安全漏洞,發布日期為 2026 年 4 月 22 日。此漏洞影響所有使用 Linux kernel 的 algif_aead interface 的系統。
漏洞詳細描述
漏洞位置在 Linux kernel 的 crypto algif_aead(Authenticated Encryption with Associated Data cipher interface)組件。此漏洞與 in-place vs out-of-place buffer operation handling 有關。
根據漏洞描述,此問題主要與一個 commit(72548b093ee3)相關,該 commit 嘗試在 algif_aead 中實現 in-place 運作方式。然而,維護者發現,由於 source 和 destination 來自不同的 memory mapping,所以沒有必要實現 in-place 運作。
修補方式是將 algif_aead 回復到 out-of-place 運作方式,並保留相關資料的 copy 操作。
嚴重性評估
嚴重性評級:7.8 (High)
CVSS 向量:AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
如何發生
此漏洞的發生機制相對複雜,但簡單來說:
- 當系統使用 Linux kernel 的 algif_aead interface 進行認證加密操作時
- 如果使用了存在漏洞的 kernel 版本
- 在處理 buffer 時可能會發生記憶體操作錯誤
- 由於 source 和 destination 來自不同的 mapping,in-place 的複雜邏輯可能導致記憶體安全性問題
如何驗證是否已經中招
開源專案:https://github.com/rootsecdev/cve_2026_31431
git clone https://github.com/rootsecdev/cve_2026_31431.git
python3 cve_2026_31431/test_cve_2026_31431.py若出現狀態碼($?)為 2 代表中招了,0 是未影響,而 1 就是測試失敗
系統情況
Debian 系統情況
根據 Debian 官方追蹤,受影響的版本非常廣泛:
- 影響範圍:所有 Debian 11-13 系統
- 而開發版 forky(又稱 Debian 14)已經修復
擷取資訊:https://security-tracker.debian.org/tracker/CVE-2026-31431
Ubuntu 系統情況
Ubuntu 官方已經確認此漏洞,但多個版本目前尚未修補:
- Ubuntu 22.04 LTS(jammy):受影響。
- Ubuntu 24.04 LTS(noble):受影響。
因為有大部分都是 Not in release 所以請查看:https://ubuntu.com/security/CVE-2026-31431
RHEL 系統情況
Red Hat 已經確認此漏洞,多個 RHEL 版本受到影響:
- RHEL 9:受影響的 kernel-default package
- RHEL 10:受影響。
- RHEL 6、7:未受影響。
- RHEL 8:受影響的 kernel package
- SUSE Linux Enterprise Server 15 SP7:受影響的 kernel-default
- SUSE Linux Enterprise Server 16.0:受影響的 kernel-source
擷取資訊:https://access.redhat.com/security/cve/cve-2026-31431
緩解措施與解決方案
經過多次嘗試,各種緩解措施都無法可靠地防止此漏洞的利用。
目前唯一可靠的解決方案是:
- 等待供應商提供官方更新
- 手動升級 kernel 到包含修補的版本
所有嘗試過的緩解方法都無法有效防止攻擊,因為問題的核心在於 kernel 內部的記憶體操作,而非應用層面的防護。
RHEL 系統的
grubby --update-kernel=ALL --args="initcall_blacklist=algif_aead_init"
reboot當然官方的
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf
rmmod algif_aead對於我 rocky linux 10 是無效的 因為 rmmod algif_aead 會報錯ERROR: Module algif_aead is builtin.,而其他方式又會將系統搞壞(對我就是測試其他方案進救援將系統救回來)。
所以最好的方式就是等更新
探索更多來自 GEBU8F — 阿蒲的網站 的內容
訂閱即可透過電子郵件收到最新文章。
禁止人身攻擊,請理性發言。