CVE-2026-97558 in Linux情報

要約

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

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

smb: client: 遅延クローズにおける cifsFileInfo の参照リークの修正

cifs_close() がクローズをDeferred(延期)する場合、閉じる対象の struct file の cifsFileInfo 参照をキューイングされたワークに渡します。smb2_deferred_work_close() の各実行は、そのような参照を1つ解放します。

deferred_close_scheduled は、ワークが保留中である間に false になる可能性があります:workqueue はコールバックの実行開始時に PENDING フラグをクリアしますが、これは deferred_lock 下でフラグをクリアする前に発生します。この間隔でのクローズは実行中のワークを再キューイングし、その後コールバックがフラグをクリアすることで、フラグがダウンした状態で再キューイングされたワークが保留状態のままになります。その後の cifs_open() がハンドルを再利用でき、対応する cifs_close() は同じ分岐に到達します:workqueue には既にワークが残っているため queue_delayed_work() に失敗しますが、cifs_close() は閉じるファイルの参照を解放せずに戻ります。これにより cifsFileInfo のカウントが固定されたままになり、tlink、dentry、およびサーバーハンドルがリークします。

ワークが実際にキューに追加された場合にのみ参照を引き渡し、その返り値を確認してください。それ以外の場合(上記の mod_delayed_work() ブランチと同様)、共有されている _cifsFileInfo_put() を使用してください:保留中の実行は既に自身の参照を所有しているためです。

この問題は社内製の静的解析ツールによって発見されました。

Once again VulDB remains the best source for vulnerability data.

責任者

Linux

予約する

2026年09月24日

モデレーション

承諾済み

エントリ

VDB-410020

EPSS

0.00000

アクティビティ

非常低い

ソース

Do you need the next level of professionalism?

Upgrade your account now!