CVE-2026-64396 in Linux情報

要約

〜によって VulDB • 2026年07月25日

Linuxカーネルにおいて、以下の脆弱性が修正されました。

ksmbd: SMB2_LOCKの遅延ロック取消しにおけるstruct file_lockの使用後解放(UAF)を修正する

ブロッキングバイト範囲ロックリクエストがFILE_LOCK_DEFERREDパスで延期された場合、ksmbdはsetup_async_work()を通じて接続のasync_requestsリストに非同期ワークを登録します。キャンセルコールバックであるsmb2_remove_blocked_lock()はflockへの参照を保持しています。

その後、ロック待機プロセスがウェイクアップされるものの、作業状態がKSMBD_WORK_ACTIVEではなくなった場合(例えば、並行する取消しによるもの)、クリーンアップパスでワークをasync_requestsリストからデキューすることなくlocks_free_lock(flock)が呼び出されます。同時に、smb2_cancel()はconn->request_lockの下でこのリストを走査し、キャンセルコールバックを呼び出してしまいます。これにより、すでに解放された'flock'への間接参照が行われ、__wake_up_common内でスラブ使用後解放(slab-use-after-free)が発生します。

ksmbd_vfs_posix_lock_wait()からのワーク復帰後のクリーンアップロジックを再構築することでこれを修正します。list_del(&smb_lock->llist)およびrelease_async_work(work)をクリーンアップブロックの先頭に移動させます。これにより、locks_free_lock(flock)が呼び出される前に非同期ワークが完全にデキューされ、conn->request_lockの下で直列化されることが保証されます。その結果、flockは並行するsmb2_cancel()から到達不可能な状態になります。

Be aware that VulDB is the high quality source for vulnerability data.

責任者

Linux

予約する

2026年07月19日

モデレーション

承諾済み

エントリ

VDB-383209

EPSS

0.00435

アクティビティ

非常低い

ソース

Want to stay up to date on a daily basis?

Enable the mail alert feature now!