CVE-2026-31431 核心升級說明

更新時間:
Copy as MD

本文介紹 CVE-2026-31431 Linux 核心本地許可權提升漏洞的影響範圍及官方修複方案。阿里雲通過發布修複後的核心小版本解決該漏洞,修複後無需修改業務代碼即可恢複安全狀態。

漏洞背景

CVE-2026-31431 是 Linux 核心 algif_aead 模組中存在的本地許可權提升漏洞。

algif_aead 模組用於核心態 AEAD(Authenticated Encryption with Associated Data)操作。由於效能最佳化補丁引入了頁緩衝共用機制,攻擊者可向任意可讀檔案的頁緩衝中寫入受控的 4 位元組資料,進而通過篡改 setuid 二進位檔案實現本地提權並Root。

修複方案

阿里雲採用上遊官方修複方式,通過發布新的核心小版本修複該漏洞。

修複方案通過復原 algif_aead 模組中的危險就地(in-place)操作,將加解密流程恢複為安全的 out-of-place 模式:

  • 修複前:加密/解密操作複用頁緩衝(存在本地提權風險)

  • 修複後:加密/解密操作使用獨立緩衝區

重要

由於修複方案復原了上遊效能最佳化,理論上會對部分加解密情境帶來一定效能下降。建議升級後重點觀察業務效能指標與系統穩定性。

受影響版本及修複版本

作業系統

受影響版本

修複版本

Alibaba Cloud Linux 2

kernel-4.19.91-28.4 及以下的所有版本

kernel-4.19.91-28.5.al7 或更高

Alibaba Cloud Linux 3

kernel-5.10.134-19.3 及以下的所有版本

kernel-5.10.134-19.3.1.al8 或更高

Alibaba Cloud Linux 4

kernel-6.6.102-5.3 及以下的所有版本

kernel-6.6.102-5.3.1.alnx4 或更高

升級核心

重要

執行 yum update kernel 會將當前核心升級至倉庫中的最新版本。例如:

kernel-5.10.134-16kernel-5.10.134-19.3.1。升級過程中可能涉及相容性變化或效能回退,請嚴格控制升級節奏,並做好業務巡檢與灰階驗證。

步驟一:建立快照

升級前請為系統硬碟和資料盤建立快照,以便異常時快速復原。

操作路徑: ECS 控制台 > 執行個體詳情頁 > Block Storage > 建立快照

步驟二:安裝修復核心

方式一:YUM 線上升級(推薦)

# 1. 清理緩衝
sudo yum clean all

# 2. 安裝修復核心
sudo yum update kernel

# 3. 確認預設啟動核心
sudo grubby --default-kernel

# 預期輸出: /boot/vmlinuz-<修複版本號碼>
# 如輸出為修複版本,則無需額外操作;如非修複版本,請執行步驟 4

# 4. (可選) 設定預設啟動新核心
# 先查看所有核心及 index
sudo grubby --info=ALL | grep -E "^index|^kernel"

# 設定新核心為預設(替換為實際 index 值)
sudo grubby --set-default-index=<新核心 index>

方式二:離線安裝 RPM

# 1. 下載對應 RPM 包(從阿里雲官方渠道)

# 2. 安裝核心
sudo rpm -ivh kernel-*.rpm

# 3. 確認預設啟動核心
sudo grubby --default-kernel

# 預期輸出: /boot/vmlinuz-<修複版本號碼>
# 如輸出為修複版本,則無需額外操作;如非修複版本,請執行步驟 4

# 4.(可選)設定預設啟動新核心
# 先查看所有核心及 index
sudo grubby --info=ALL | grep -E "^index|^kernel"

# 設定新核心為預設(替換為實際 index 值)
sudo grubby --set-default-index=<新核心 index>

步驟三:重啟系統

sudo reboot

步驟四:驗證修複

# 確認核心版本
uname -r

# 預期輸出:修複版本或更高(見前文版本表)

升級影響說明

對不需要修複 CVE 的使用者

如果當前無需修複該漏洞,但仍執行了核心升級:

  • 未使用 algif_aead 模組:升級後不受影響,系統功能和效能無變化

  • 使用 AF_ALG 介面的加解密相關業務:升級後功能保持正常,但 algif_aead 模組效能理論上會下降約 5%。

說明
  • 如業務不依賴 algif_aead 且無安全合規要求,可根據實際情況安排升級視窗。

  • 如業務存在安全合規要求或使用該模組,建議儘快升級。

效能影響

由於修複方案復原了上遊效能最佳化邏輯,將共用快取模式改為獨立緩衝區模式,理論上會帶來輕微效能下降。例如:

  • 基於 libkcapi 測試

  • 使用 AES(AESNI) GCM(ASM-RFC) 256 演算法

  • algif_aead 模組效能下降約 5%

說明
  • 修複前:採用 in-place 模式,共用頁緩衝,效能更高但存在安全風險

  • 修複後:採用 out-of-place 模式,使用獨立緩衝區,安全性更高

建議在業務低峰期執行升級操作,升級後觀察業務指標 10-30 分鐘。

回退方法

如升級後出現相容性或效能異常,可通過以下方式回退。

方式一:快照復原(推薦)

  1. 停止 ECS 執行個體。

  2. 在控制台選擇升級前建立的快照進行復原。

  3. 啟動執行個體並驗證業務狀態。

方式二:切換舊核心啟動

# 1. 查看已安裝核心版本
grep menuentry /boot/grub2/grub.cfg | cut -d "'" -f2

# 2. 設定舊核心為預設啟動項
sudo grubby --set-default-index=<舊核心 index>

# 3. 重啟系統
sudo reboot

# 4. 卸載新核心及其組件(可選,以 5.10.134-19.3.1.al8 為例)
sudo yum remove kernel-5.10.134-19.3.1.al8 \
    kernel-core-5.10.134-19.3.1.al8 \
    kernel-modules-5.10.134-19.3.1.al8 \
    kernel-modules-extra-5.10.134-19.3.1.al8 \
    kernel-modules-internal-5.10.134-19.3.1.al8

注意事項

  1. 必須重啟:核心升級後需重啟系統才會生效。如果無法重啟,可參考Alibaba Cloud Linux系統禁用AF_ALG協議族緩解方案

  2. 業務驗證:使用 AF_ALG 調用 algif_aead 模組的業務,需重點驗證升級後的功能正確性與效能表現。

  3. 相容性:如業務使用自訂核心模組,請提前確認與目標核心版本的相容性。

  4. 監控建議:升級後建議重點觀察加密密集型業務的效能基準與異常日誌。