CVE-2026-89710 in Linux
要約
〜によって VulDB • 2026年09月11日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
NFSv4.1: pnfs_layout_process() の forget パスにおけるレイアウトセグメントのリークを修正する
サーバーが有効な stateid が保持されている間に新しいレイアウト状態 ID を返した場合、pnfs_layout_process() はスタック上の free_me リストに対して pnfs_mark_matching_lsegs_return() を呼び出し、out_forget にジャンプします。参照カウントがゼロに低下したセグメントは lo->plh_segs からアンリンクされ、mark_lseg_invalid() によって free_me に移動されます。アイドル状態のキャッシュされたセグメントの場合、レイアウトヘッダーが唯一の参照を保持しているため、これは最初のデクリメント時に発生します。
out_forget は free_me を空にしません(drain しません)。成功パスのみが pnfs_free_lseg_list() を呼び出します。
コミット 814b84971388 ("pNFS/NFSv4: Fix a layout segment leak in pnfs_layout_process()") は drain の追加を行いました。しかし、コミット 08bd8dbe8882 ("pNFS/NFSv4: Try to return invalid layout in pnfs_layout_process()") では、宛先を lo->plh_return_segs に切り替える際にこれを削除しました(lo->plh_return_segs は他の場所で drain されます)。さらに、コミット fb700ef02676 ("NFSv4.1: Simplify layout return in pnfs_layout_process()") では宛先を free_me に戻しましたが、drain の復元は行われませんでした。
pnfs_free_lseg_list() の呼び出しを復元します。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.