【活用ガイド】

JVNDB-2026-022478

LinuxのLinux Kernelにおける解放済みメモリの使用に関する脆弱性

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました:ksmbd: 二重の SMB2_CANCEL により延期された file_lock が解放後に使用される問題(use-after-free)を修正延期されたバイト範囲ロック(ブロックする SMB2_LOCK)は、setup_async_work() により conn->async_requests 上に非同期ワークを登録し、cancel_fn として smb2_remove_blocked_lock を設定し、cancel_argv[0] は struct file_lock を指します。要求がキャンセルされると、ワーカーは locks_free_lock() で file_lock を解放し、キャンセル済みの早期終了経路を取り、"goto out" して release_async_work() には到達しません。release_async_work() は、conn->async_requests からワークをアンリンクし、cancel_fn/cancel_argv をクリアする唯一の場所です。そのため、接続の破棄で最終的に release_async_work() が走るまで、当該ワークは async_requests 上でマッチ可能なまま残り、解放済みの file_lock を指す cancel_fn が生き続けます。smb2_cancel() は状態ガードなしに無条件で cancel_fn を起動するため、同一 AsyncId に対する2回目の SMB2_CANCEL がその時間窓に到着すると、解放済みの file_lock に対して smb2_remove_blocked_lock() が再実行され、slab use-after-free が発生します: BUG: KASAN: slab-use-after-free in __locks_delete_block __locks_delete_block locks_delete_block ksmbd_vfs_posix_lock_unblock smb2_remove_blocked_lock smb2_cancel <- 2nd SMB2_CANCEL fires cancel_fn handle_ksmbd_work Allocated by ...: locks_alloc_lock <- smb2_lock Freed by ...: locks_free_lock <- smb2_lock (cancelled branch) ... cache file_lock_cache of size 192この問題は、認証済みの SMB クライアントにより、メインライン上で KASAN を用いて再現されました。ワークの状態がすでに KSMBD_WORK_CANCELLED である場合はそれをスキップし、キャンセル用コールバックが二度目に起動されないようにします。
CVSS による深刻度 (CVSS とは?)

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


Linux
  • Linux Kernel 5.15 以上 6.1.176 未満
  • Linux Kernel 6.13 以上 6.18.36 未満
  • Linux Kernel 6.19 以上 7.0.13 未満
  • Linux Kernel 6.2 以上 6.6.143 未満
  • Linux Kernel 6.7 以上 6.12.94 未満
  • Linux Kernel 7.1

想定される影響

・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。
・当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。
・当該ソフトウェアが完全に停止する可能性があります。
対策

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

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

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

  1. CVE-2026-53198
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-53198
  2. 関連文書 : ksmbd: fix use-after-free of a deferred file_lock on double SMB2_CANCEL - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/14d2eee0193ac3cd1bf3d014373449f0b8d35d6d)
  3. 関連文書 : ksmbd: fix use-after-free of a deferred file_lock on double SMB2_CANCEL - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/b7063c7426ea5a4d15e01b60538718765392f49d)
  4. 関連文書 : ksmbd: fix use-after-free of a deferred file_lock on double SMB2_CANCEL - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/2b2eda2821cff1d1b5a423b6ee7d8fc6fbc8e694)
  5. 関連文書 : ksmbd: fix use-after-free of a deferred file_lock on double SMB2_CANCEL - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/89ae9df09d2c1fb4a4eb495c113a7ce1dca34147)
  6. 関連文書 : ksmbd: fix use-after-free of a deferred file_lock on double SMB2_CANCEL - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/0da2e073f9cbf4985a0fd9acb71bc5ff599f8afd)
  7. 関連文書 : ksmbd: fix use-after-free of a deferred file_lock on double SMB2_CANCEL - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/f580d27e8928828693df44ba2db0fffdbe11dfea)
更新履歴

  • [2026年07月07日]
      掲載