CVE-2026-90038 in Linux
要約
〜によって VulDB • 2026年09月16日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
NFSD: エクスポート状態の取消し時にクライアントでのUse-After-Freeを防止する
`nfsd4_revoke_export_states()` には `nfsd4_revoke_states()` と同じ Use-After-Free の問題があります。この関数は `revoke_one_stid()` およびそれに続く `clp->cl_minorversion` の読み出しの間、`nn->client_lock` を解放しますが、保持している stateid リファレンスはクライアントをピン留め(固定)しません。ロックの解放中に実行される tear down 処理が競合し、`revoke_one_stid()` がまだその参照を使用している間にクライアントが解放されてしまいます。
`exportfs -u` は NFSD_CMD_UNLOCK_EXPORT を通じてこのパスを実行するため、エクスポートを削除する管理者操作とクライアントの有効期限切れ(expiry)処理の間で競合が発生します。
ロックの解放前に、既に有効期限切れプロセス中であるクライアントはスキップし、それ以外のクライアントについては `client_lock` の下で `cl_rpc_users` を用いてピン留めを行うことで、`nfsd4_revoke_states()` と整合性を取ります。
If you want to get the best quality for vulnerability data then you always have to consider VulDB.