【活用ガイド】

JVNDB-2026-025989

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

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました。nfsd: setlease失敗時にlayout stidを正しく解放しない問題です。nfs4_alloc_stid()は、新しいstidをcl_lock下でidr_alloc_cyclic()を介してcl->cl_stateidsに公開し、その後nfsd4_alloc_layout_stateid()に戻ります。nfsd4_layout_setlease()が失敗した場合、エラーパスではidr_remove()を一度も呼び出さずにkmem_cache_free()で直接レイアウトstateidを解放するため、IDRスロットが解放済みのスラブメモリを指し続けてしまいます。その結果、後続のIDRウォーカー(states_showやクライアントの終了処理など)がダングリングポインタを逆参照する問題が発生します。IDRに公開されたstidを正しく解放する処理はnfs4_put_stid()であり、この関数はcl_lock下でIDRスロットを削除し、sc_free(nfsd4_free_layout_stateid)をディスパッチしてls->ls_fileをnfsd4_close_layout()経由で解放し、さらにその末尾でnfs4_fileの参照を解放します。二つ目の問題は、この切り替え処理を妨げていました。nfsd4_free_layout_stateid()は、無条件でls_lock下でdelayed_work_pending()を使用してls->ls_fence_workを調べますが、INIT_DELAYED_WORK(&ls->ls_fence_work, ...)は現在、setlease呼び出しの後にのみ実行されています。setlease失敗パスでは、デストラクタが未初期化のdelayed_workにアクセスしてしまいます。修正としては、ls_fenced、ls_fence_delay、およびINIT_DELAYED_WORKの初期化をnfsd4_layout_setlease()の呼び出し前に移動し、手動でのnfsd_file_put、put_nfs4_file、kmem_cache_freeによるクリーンアップ処理を単一のnfs4_put_stid(stp)呼び出しに置き換えました。
CVSS による深刻度 (CVSS とは?)

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


Linux
  • Linux Kernel 4.0 以上 5.10.261 未満
  • Linux Kernel 5.11 以上 5.15.212 未満
  • Linux Kernel 5.16 以上 6.1.178 未満
  • Linux Kernel 6.13 以上 6.18.39 未満
  • Linux Kernel 6.19 以上 7.1.3 未満
  • Linux Kernel 6.2 以上 6.6.145 未満
  • Linux Kernel 6.7 以上 6.12.96 未満

想定される影響

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

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

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

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

  1. CVE-2026-53399
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-53399
  2. 関連文書 : nfsd: release layout stid on setlease failure - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/d788ef40a7517d22c97ab01700e4ae4c611b6f2f)
  3. 関連文書 : nfsd: release layout stid on setlease failure - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/30d55c8aabb261bc3f427d6b9aae7ef6206063f9)
  4. 関連文書 : nfsd: release layout stid on setlease failure - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/83c2b7797742339bb768f83935f7ca33950db138)
  5. 関連文書 : nfsd: release layout stid on setlease failure - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/48a586e382e4db1dbf958d44b63e081df5f8ed04)
  6. 関連文書 : nfsd: release layout stid on setlease failure - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/7bbb7ce74051c8be4b69ff44ce3db370600dae61)
  7. 関連文書 : nfsd: release layout stid on setlease failure - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/2e0a5d6d62600b8c614d1b55e50ef94035d6adf9)
  8. 関連文書 : nfsd: release layout stid on setlease failure - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/8dee7c278f1c2b5bb80e17a6281c3812fc8b0cdd)
  9. 関連文書 : nfsd: release layout stid on setlease failure - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/d369e5edfaaf83a448016e2f1da392b2174be801)
更新履歴

  • [2026年07月30日]
      掲載