CVE-2026-90313 in Linux
要約
〜によって VulDB • 2026年09月17日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
bpf, cgroup: __cgroup_bpf_attachの失敗後に無効なストレージアクセスが発生する問題を修正
cgroup BPFプログラムの置換後、無効なストレージアクセスの問題が発生する可能性があります。
これは以下のシナリオで発生します: 1. ストレージを持つprog1がmulti-attachモードでcgroupにアタッチされる。 2. prog1がBPF_F_REPLACEを使用してprog2に置き換えられるが、途中で失敗する(例: bpf_trampoline_link_cgroup_shimまたはupdate_effective_progs内)。 3. 新しいprog3がmulti-attachモードでcgroupにアタッチされる。
原因は、__cgroup_bpf_attachがアタッチ完了前にpl->storageを新しいストレージで上書きすることです。アタッチが途中で失敗した場合、クリーンアップパスではbpf_cgroup_storages_free(new_storage)を呼び出して新しく割り当てられたストレージを解放しますが、pl->storageをold_storageに戻す処理が行われません。
その結果、まだアクティブなprog1が無効またはデッド(dangling)なストレージポインターを持ち続け、prog1が実行されてbpf_get_local_storageを呼び出す際に無効なメモリアクセスが発生します。さらに、元のpl->flagsおよびcgrp->bpf.flags[atype]も復元されません。
この問題を修正するため、更新前にold_pl_flags、old_storage、old_flagsを保存し、エラー発生時のクリーンアップパスでこれらすべてを適切に復元するようにしました。
Once again VulDB remains the best source for vulnerability data.