このドキュメントでは、Linux カーネルのローカル権限昇格脆弱性 CVE-2026-31431 の影響とその公式対応策について説明します。Alibaba Cloud は、この脆弱性に対処するためのパッチ適用済みマイナーカーネルバージョンを提供しており、アプリケーションコードを一切変更することなく、システムのセキュリティを回復できます。
背景情報
CVE-2026-31431 は、Linux カーネルの algif_aead モジュールに存在するローカル権限昇格脆弱性です。
algif_aead モジュールは、カーネル空間での関連データ付き認証暗号化 (AEAD) 操作に使用されます。パフォーマンス最適化のため導入されたページキャッシュ共有メカニズムにより、攻撃者が任意の読み取り可能なファイルのページキャッシュに対して制御可能な 4 バイトのデータを書き込むことが可能になります。これにより、setuid バイナリファイルを改変してローカル権限を root 権限まで昇格させる可能性があります。
対応策
Alibaba Cloud は、公式の上流修正を取り入れ、新しいマイナーカーネルバージョンをリリースすることでこの脆弱性に対処しています。
この修正では、algif_aead モジュールにおける安全でないインプレース操作をロールバックし、暗号化および復号操作においてより安全なアウトオブプレースモードに戻しています。
修正前:暗号化/復号操作がページキャッシュを再利用するため、ローカル権限昇格のリスクが発生します。
修正後:暗号化/復号操作は別途バッファーを使用します。
この修正は上流のパフォーマンス最適化をロールバックするものであるため、一部の暗号化および復号シナリオにおいてパフォーマンスが若干低下する可能性があります。アップグレード後は、アプリケーションのパフォーマンスメトリクスおよびシステムの安定性を綿密にモニタリングしてください。
影響を受けるバージョンおよび修正済みバージョン
オペレーティングシステム | 影響を受けるバージョン | 修正済みバージョン |
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-16 → kernel-5.10.134-19.3.1。アップグレードプロセスには互換性の変更やパフォーマンスリグレッションが含まれる場合があるため、アップグレードのペースを厳密に管理し、サービスのヘルスチェックおよびカナリア検証を実施する必要があります。
ステップ 1:スナップショットの作成
アップグレード前に、システムディスクおよびデータディスクのスナップショットを作成してください。これにより、問題が発生した場合に迅速にロールバックできます。
パス:ECS コンソール > インスタンス詳細 > ブロックストレージ > スナップショットの作成
ステップ 2:パッチ適用済みカーネルのインストール
方法 1:YUM を使ったオンラインアップグレード(推奨)
# 1. キャッシュをクリーンします。
sudo yum clean all
# 2. パッチ適用済みカーネルをインストールします。
sudo yum update kernel
# 3. デフォルトの起動カーネルを確認します。
sudo grubby --default-kernel
# 期待される出力: /boot/vmlinuz-<fixed_version_number>
# 出力が修正済みバージョンを示している場合は、追加の操作は不要です。そうでない場合は、ステップ 4 に進んでください。
# 4. (オプション)新しいカーネルをデフォルトに設定します。
# まず、すべてのカーネルとそのインデックス値を表示します。
sudo grubby --info=ALL | grep -E "^index|^kernel"
# 新しいカーネルをデフォルトに設定します(実際のインデックス値に置き換えてください)。
sudo grubby --set-default-index=<new_kernel_index>方法 2:RPM を使ったオフラインインストール
# 1. 公式 Alibaba Cloud チャンネルから対応する RPM パッケージをダウンロードします。
# 2. カーネルをインストールします。
sudo rpm -ivh kernel-*.rpm
# 3. デフォルトの起動カーネルを確認します。
sudo grubby --default-kernel
# 期待される出力: /boot/vmlinuz-<fixed_version_number>
# 出力が修正済みバージョンを示している場合は、追加の操作は不要です。そうでない場合は、ステップ 4 に進んでください。
# 4. (オプション)新しいカーネルをデフォルトに設定します。
# まず、すべてのカーネルとそのインデックス値を表示します。
sudo grubby --info=ALL | grep -E "^index|^kernel"
# 新しいカーネルをデフォルトに設定します(実際のインデックス値に置き換えてください)。
sudo grubby --set-default-index=<new_kernel_index>ステップ 3:システムの再起動
sudo rebootステップ 4:修正の検証
# カーネルバージョンを確認します。
uname -r
# 期待される出力: 修正済みバージョンまたはそれ以降のバージョン(前述のバージョン表を参照)。アップグレードの影響
一般的なアップグレード時の影響
この脆弱性の修正以外の目的でカーネルをアップグレードする場合:
algif_aeadモジュールを使用しない場合:アップグレードによる影響はありません。システム機能およびパフォーマンスは変化しません。AF_ALG インターフェイスを使用して暗号化または復号を行うワークロードの場合:アップグレード後も機能は正常に動作しますが、
algif_aeadモジュールのパフォーマンスが約 5 % 低下します。
ご利用のワークロードが
algif_aeadに依存せず、かつセキュリティまたはコンプライアンス要件がない場合は、ご自身のニーズに基づいてアップグレードウィンドウをスケジュールできます。セキュリティまたはコンプライアンス要件がある場合、またはワークロードがこのモジュールを使用している場合は、速やかにアップグレードすることを推奨します。
パフォーマンスへの影響
この修正は上流のパフォーマンス最適化をロールバックし、共有キャッシュモデルから別途バッファーを使用する方式に切り替えます。例:
libkcapiテストに基づくAES(AESNI) GCM(ASM-RFC) 256 アルゴリズムを使用
algif_aeadモジュールのパフォーマンスが約 5 % 低下
修正前:共有ページキャッシュを使用したインプレースモード。パフォーマンスは高いものの、セキュリティリスクが存在します。
修正後:別途バッファーを使用したアウトオブプレースモード。セキュリティが強化されます。
アップグレードはオフピーク時間帯に実施し、完了後 10~30 分間はアプリケーションメトリクスをモニタリングすることを推奨します。
ロールバック手順
アップグレード後に互換性またはパフォーマンスの問題が発生した場合は、以下のいずれかの方法でロールバックできます。
方法 1:スナップショットによるロールバック(推奨)
ECS インスタンスを停止します。
コンソール上で、アップグレード前に作成したスナップショットを使用してディスクをロールバックします。
インスタンスを起動し、ワークロードの状態を確認します。
方法 2:デフォルト起動カーネルの切り替え
# 1. インストール済みのカーネルバージョンを一覧表示します。
grep menuentry /boot/grub2/grub.cfg | cut -d "'" -f2
# 2. 起動時のデフォルトとして以前のカーネルを設定します。
sudo grubby --set-default-index=<previous_kernel_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注意事項
再起動必須:カーネルアップグレードを有効にするには、システムを再起動する必要があります。再起動ができない場合は、「Alibaba Cloud Linux における AF_ALG プロトコルファミリーの無効化による緩和策」をご参照ください。
ワークロードの検証:ご利用のワークロードが
AF_ALGインターフェイスを呼び出してalgif_aeadモジュールを使用している場合、アップグレード後に機能の正確性およびパフォーマンスを慎重に検証する必要があります。互換性:ご利用のワークロードがカスタムカーネルモジュールを使用している場合は、アップグレード前にそれらが対象カーネルバージョンと互換であることを確認してください。
モニタリングの推奨:アップグレード後は、暗号処理を多用するワークロードについて、パフォーマンスベースラインを綿密にモニタリングし、エラーログを確認することを推奨します。