【活用ガイド】

JVNDB-2024-029704

 Debian等の複数ベンダの製品における解放済みメモリの使用に関する脆弱性

概要

LinuxカーネルにおけるWireGuardの脆弱性は、ネットリンク処理でis_deadではなく空リストのチェックが行われていたため、削除されたピアを誤って処理してしまう可能性があるという問題が修正されました。この問題は、すべてのピアがwg_peer_remove_all()によって一括削除された場合でも、削除済みのピアが一時的なリストに残り、netlink dumpでこれらのピアを誤ってダンプしてしまうことから発生します。今回の修正では、空リストのチェックではなくpeer->is_deadフラグを使用して削除済みのピアかどうかを判定し、より確実なチェックが可能となりました。また、ロックの取得に関するアサーション位置も適切に調整されました。この問題は特定のスクリプトの実行によって再現でき、KASANによるuse-after-freeの警告が発生します。
CVSS による深刻度 (CVSS とは?)

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


Debian
  • Debian GNU/Linux 10.0
Linux
  • Linux Kernel 5.11 から 5.15.154 未満
  • Linux Kernel 5.16 から 6.1.84 未満
  • Linux Kernel 5.6 から 5.10.215 未満
  • Linux Kernel 6.2 から 6.6.24 未満
  • Linux Kernel 6.7 から 6.7.12 未満
  • Linux Kernel 6.8 から 6.8.3 未満

本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。
想定される影響

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

正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。
ベンダ情報

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

  1. 解放済みメモリの使用(CWE-416) [NVD評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2024-26951
参考情報

  1. National Vulnerability Database (NVD) : CVE-2024-26951
  2. 関連文書 : wireguard: netlink: check for dangling peer via is_dead instead of empty list - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/302b2dfc013baca3dea7ceda383930d9297d231d)
  3. 関連文書 : wireguard: netlink: check for dangling peer via is_dead instead of empty list - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/7bedfe4cfa38771840a355970e4437cd52d4046b)
  4. 関連文書 : wireguard: netlink: check for dangling peer via is_dead instead of empty list - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/55b6c738673871c9b0edae05d0c97995c1ff08c4)
  5. 関連文書 : wireguard: netlink: check for dangling peer via is_dead instead of empty list - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/710a177f347282eea162aec8712beb1f42d5ad87)
  6. 関連文書 : wireguard: netlink: check for dangling peer via is_dead instead of empty list - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/13d107794304306164481d31ce33f8fdb25a9c04)
  7. 関連文書 : wireguard: netlink: check for dangling peer via is_dead instead of empty list - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/b7cea3a9af0853fdbb1b16633a458f991dde6aac)
  8. 関連文書 : wireguard: netlink: check for dangling peer via is_dead instead of empty list - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/f52be46e3e6ecefc2539119784324f0cbc09620a)
更新履歴

  • [2025年12月25日]
      掲載