【活用ガイド】

JVNDB-2025-025291

LinuxのLinux Kernelにおける不特定の脆弱性

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました:bpf、cgroupのpurge_effective_progsにおけるカーネルBUGの修正です。Syzkallerによって以下のカーネルBUGが報告されました:------------[ここで切る]------------kernel/bpf/cgroup.c:925でカーネルBUGが発生しました。無効な命令コード:0000 [#1] PREEMPT SMP NOPTICPU: 1 PID: 194 Comm: detach 汚染されていません 5.19.0-14184-g69dac8e431af #8 ハードウェア名:QEMU Standard PC (i440FX + PIIX, 1996)、BIOS rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 2014/04/01。RIP: 0010:__cgroup_bpf_detach+0x1f2/0x2a0。コード: 00 e8 92 60 30 00 84 c0 75 d8 4c 89 e0 31 f6 85 f6 74 19 42 f6 84 28 48 05 00 00 02 75 0e 48 8b 80 c0 00 00 00 48 85 c0 75 e5 0f 0b 48 8b 0c5。RSP: 0018:ffffc9000055bdb0 EFLAGS: 00000246。RAX: 0000000000000000 RBX: ffff888100ec0800 RCX: ffffc900000f1000。RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffff888100ec4578。RBP: 0000000000000000 R08: ffff888100ec0800 R09: 0000000000000040。R10: 0000000000000000 R11: 0000000000000000 R12: ffff888100ec4000。R13: 000000000000000d R14: ffffc90000199000 R15: ffff888100effb00。FS: 00007f68213d2b80(0000) GS:ffff88813bc80000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000055f74a0e5850 CR3: 0000000102836000 CR4: 00000000000006e0。コールトレース:TASK cgroup_bpf_prog_detach+0xcc/0x100 __sys_bpf+0x2273/0x2a00 __x64_sys_bpf+0x17/0x20 do_syscall_64+0x3b/0x90 entry_SYSCALL_64_after_hwframe+0x63/0xcd。RIP: 0033:0x7f68214dbcb9。コード: 08 44 89 e0 5b 41 5c c3 66 0f 1f 84 00 00 00 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 48 3d 01 f0 ff8。RSP: 002b:00007ffeb487db68 EFLAGS: 00000246 ORIG_RAX: 0000000000000141 RAX: ffffffffffffffda RBX: 000000000000000b RCX: 00007f68214dbcb9。RDX: 0000000000000090 RSI: 00007ffeb487db70 RDI: 0000000000000009。RBP: 0000000000000003 R08: 0000000000000012 R09: 0000000b00000003。R10: 00007ffeb487db70 R11: 0000000000000246 R12: 00007ffeb487dc20。R13: 0000000000000004 R14: 0000000000000001 R15: 000055f74a1011b0/TASK。モジュールはリンク済みです。---[トレース終了 0000000000000000]---。再現手順は以下の通りです。cgroupツリーが root|cg1|cg2 の場合、1. prog2をcg2にアタッチし、その後prog1をcg1にアタッチします(両方ともbpfプログラムであり、アタッチタイプはNONEまたはOVERRIDEです)。2. /proc/thread-self/fail-nthに1を書き込みfailslabを発生させます。3. cg1のprog1をデタッチするとカーネルBUGが発生します。Failslab注入はkmallocの失敗を引き起こし、purge_effective_progsにフォールバックします。問題はcg2に別のプログラムがアタッチされているため、cg2レイヤーを通過する際に反復処理がposを1に増やします。その後の操作は以下の条件でスキップされ、最終的にcgはNULLに遭遇します。`if (pos && !(cg-bpf.flags[atype] & BPF_F_ALLOW_MULTI))`。NULLのcgはリンクやプログラムの一致がないことを意味し、これは想定された状態でありバグではありません。そのため、一致しない状況は単にスキップされます。
CVSS による深刻度 (CVSS とは?)

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


Linux
  • Linux Kernel 5.10.138 以上 5.10.142 未満
  • Linux Kernel 5.15.61 以上 5.15.66 未満
  • Linux Kernel 5.18.18 以上 5.19 未満
  • Linux Kernel 5.19.2 以上 5.19.8 未満
  • Linux Kernel 6.0

想定される影響

当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。
また、当該ソフトウェアが扱う情報について、書き換えは発生しません。
さらに、当該ソフトウェアが完全に停止する可能性があります。
そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。
対策

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

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

  1. 情報不足(CWE-noinfo) [NVD評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2022-49970
参考情報

  1. National Vulnerability Database (NVD) : CVE-2022-49970
  2. 関連文書 : bpf, cgroup: Fix kernel BUG in purge_effective_progs - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/7d6620f107bae6ed687ff07668e8e8f855487aa9)
  3. 関連文書 : bpf, cgroup: Fix kernel BUG in purge_effective_progs - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/a1a05d3ae58299b040da4d5b27e72e81c2132e0b)
  4. 関連文書 : bpf, cgroup: Fix kernel BUG in purge_effective_progs - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/c5f975e3ebfa57be13393c585a4b58ea707023cb)
  5. 関連文書 : bpf, cgroup: Fix kernel BUG in purge_effective_progs - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/222bd95c89b135fde21f0bd0cb5cc1611c0c576c)
更新履歴

  • [2026年01月26日]
      掲載