【活用ガイド】

JVNDB-2025-026017

LinuxのLinux Kernelにおける有効期限後のメモリの解放の欠如に関する脆弱性

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました。bpfのcpumapに関して、mapの更新が返る前にkthreadが実行中であることを確認します。stressモードを有効にした状態でxdp_redirect_cpuを一部のRTスレッドで実行すると、以下の警告が報告されました。------------[ cut here ]------------ WARNING: CPU: 4 PID: 65 at kernel/bpf/cpumap.c:135 CPU: 4 PID: 65 Comm: kworker/4:1 Not tainted 6.5.0-rc2+ #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996) Workqueue: events cpu_map_kthread_stop RIP: 0010:put_cpu_map_entry+0xda/0x220 ...... Call Trace: TASK ? show_regs+0x65/0x70 ? __warn+0xa5/0x240 ...... ? put_cpu_map_entry+0xda/0x220 cpu_map_kthread_stop+0x41/0x60 process_one_work+0x6b0/0xb80 worker_thread+0x96/0x720 kthread+0x1a5/0x1f0 ret_from_fork+0x3a/0x70 ret_from_fork_asm+0x1b/0x30 /TASK 根本原因はコミット436901649731("bpf: cpumap: Fix memory leak in cpu_map_update_elem")と同じです。kthreadはcpu_map_kthread_stop()内のkthread_stop()によって早期に停止され、kthread()はcpu_map_kthread_run()を全く呼び出しませんでしたが、XDPプログラムはすでにいくつかのフレームまたはskbをptr_ringにキューイングしていました。したがって、__cpu_map_ring_cleanup()がptr_ringをチェックしたところ空ではないことが判明し、警告を報告しました。代替の修正方法として、kthread_stop()が-EINTRを返したときにこれらの保留中のフレームやskbを__cpu_map_ring_cleanup()で破棄する方法もありますが、これらのフレームやskbはXDPプログラムによって正しく処理されているため、ユーザーが混乱する可能性があります。したがって、これらのフレームやskbを破棄せずに、__cpu_map_entry_alloc()が返る前に各CPUのkthreadが実行されていることを保証します。修正を適用した後は、kthread_stop()のエラーハンドリングは不要です。なぜなら常に0を返すため、単に削除すればよいためです。
CVSS による深刻度 (CVSS とは?)

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


Linux
  • Linux Kernel 4.15 以上 5.15.126 未満
  • Linux Kernel 5.16 以上 6.1.45 未満
  • Linux Kernel 6.2 以上 6.4.10 未満
  • Linux Kernel 6.5

想定される影響

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

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

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

  1. 有効期限後のメモリの解放の欠如(CWE-401) [NVD評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2023-53577
参考情報

  1. National Vulnerability Database (NVD) : CVE-2023-53577
  2. 関連文書 : https://git.kernel.org/stable/c/7a1178a3671b40746830d355836b72e47ceb2490
  3. 関連文書 : https://git.kernel.org/stable/c/b44d28b98f185d2f2348aa3c3636838c316f889e
  4. 関連文書 : bpf, cpumap: Make sure kthread is running before map update returns - kernel/git/stable/linux.git - Linux kernel stable tree
  5. 関連文書 : https://git.kernel.org/stable/c/640a604585aa30f93e39b17d4d6ba69fcb1e66c9
更新履歴

  • [2026年02月12日]
      掲載