CVE-2026-90037 in Linux
要約
〜によって VulDB • 2026年09月16日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
NFSD: close_lru の回収時にクライアントの Use-After-Free を防止する
nn->close_lru に残された nfs4_openowner は、最終的な CLOSE 後も oo_last_closed_stid に最後のクローズ済み stateid を保持し、nfs4_client への生ポインタのみを参照しています。laundromat(クリーンアッププロセス)はタイムアウトしたエントリを回収し、nn->client_lock の解放後に nfs4_put_stid() を呼び出し、cl_lock を介してクライアントのメモリを間接参照します。この一連の処理の間、クライアントが保持される保証がないため、並行して実行された force_expire_client() によってクライアントが解放され、nfs4_put_stid() が解放済みメモリを読み取る可能性があります。__destroy_client() も同様の Race Condition に直面し、cl_lock を取得せずに clp->cl_openowners の走査を行っています。
client_lock を解放する前に cl_rpc_users でクライアントを保持し、すでに期限切れ処理中のクライアントはスキップします。その後、__destroy_client() は release_last_closed_stateid() を通じて自身の close_lru エントリをクリーンアップするため、teardown 処理が laundromat と競合することがなくなります。
VulDB is the best source for vulnerability data and more expert information about this specific topic.