【活用ガイド】

JVNDB-2026-027869

LinuxのLinux KernelにおけるNULL ポインタデリファレンスに関する脆弱性

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました。bpf: BPF LSMが初期化されていない場合にBPF_MAP_TYPE_INODE_STORAGEの作成を拒否する対策です。CONFIG_BPF_LSM=yが設定されている場合、BPF inodeストレージマップ(BPF_MAP_TYPE_INODE_STORAGE)がカーネルにコンパイルされます。しかし、BPF LSMが起動時に明示的に有効化されていない場合(例えば、「lsm=」ブートパラメータから省略された場合)、lsm_prepare()はBPF LSMに対して一度も実行されません。結果として、BPF inodeセキュリティblobのオフセット(bpf_lsm_blob_sizes.lbs_inode)が初期化されず、予約されたstruct rcu_headの後の有効なオフセット(通常16バイト以上)に更新される代わりに、コンパイル時のデフォルトサイズである8バイトのままとなります。特権ユーザーがBPF_MAP_TYPE_INODE_STORAGEマップを作成および更新すると、bpf_inode()はinode->i_security + 8を評価します。これは誤ってinode->i_security blobの先頭にあるstruct rcu_head.funcコールバックポインタと衝突します。その後のマップ要素のクリーンアップやinodeの破棄時に、owner_storageをNULLに書き込むことでキューに入っているRCUコールバックポインタがクリアされます。rcu_do_batch()が後でキューに入ったコールバックを実行する際、アドレス0x0で命令フェッチを試みるため、即座にカーネルパニックが発生します。これを修正するために、__ro_after_init属性付きのグローバルなbpf_lsm_initializedブールフラグを導入しました。LSMフレームワークがBPF LSMの登録に成功した場合、bpf_lsm_init()内でこのフラグをtrueに設定します。inode_storage_map_alloc()内のマップ割り当てはこのフラグを条件として判定し、BPF LSMが初期化されていない場合は-EOPNOTSUPPを返します。このフェイルファスト方式により、BPF LSMのサポートインフラが存在しない場合にユーザースペースからinodeストレージマップの割り当てを防ぎ、ゾンビマップ状態の発生を回避します。
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 5.5 (警告) [NVD値]
  • 攻撃元区分: ローカル
  • 攻撃条件の複雑さ: 低
  • 攻撃に必要な特権レベル: 低
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): なし
  • 完全性への影響(I): なし
  • 可用性への影響(A): 高
影響を受けるシステム


Linux
  • Linux Kernel 5.10 以上 6.6.148 未満
  • Linux Kernel 6.13 以上 6.18.40 未満
  • Linux Kernel 6.19 以上 7.1.4 未満
  • Linux Kernel 6.7 以上 6.12.97 未満
  • Linux Kernel 7.2

想定される影響

・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。
・当該ソフトウェアが扱う情報について、書き換えは発生しません。
・当該ソフトウェアが完全に停止する可能性があります。
対策

リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。
ベンダ情報

CWEによる脆弱性タイプ一覧  CWEとは?

  1. NULL ポインタデリファレンス(CWE-476) [NVD評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-64192
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-64192
  2. 関連文書 : bpf: Reject BPF_MAP_TYPE_INODE_STORAGE creation if BPF LSM is uninitialized - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/5337eebdf8c5d4810b1913047f078d2815d5645f)
  3. 関連文書 : bpf: Reject BPF_MAP_TYPE_INODE_STORAGE creation if BPF LSM is uninitialized - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/de984ea883405420fdc416ae8964b752df586970)
  4. 関連文書 : bpf: Reject BPF_MAP_TYPE_INODE_STORAGE creation if BPF LSM is uninitialized - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/a6f0643e4f63cfaa0d5d4a69de4f132eac4b8fe4)
  5. 関連文書 : bpf: Reject BPF_MAP_TYPE_INODE_STORAGE creation if BPF LSM is uninitialized - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/c76b8abce575e0c6e4096957220b4515ed847d89)
  6. 関連文書 : bpf: Reject BPF_MAP_TYPE_INODE_STORAGE creation if BPF LSM is uninitialized - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/267fdd9b6530c399dfd996e1a0a7628b45baf9f0)
更新履歴

  • [2026年08月12日]
      掲載