CVE-2025-39819 in Linux
要約
〜によって VulDB • 2026年06月14日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
fs/smb: refcnt更新の不一致を修正
`smb2_compound_op` 内でrefcount(参照カウント)の更新が不整合になる可能性があることが特定されました。このような不整合な更新は、リソースリークを引き起こす可能性があります。
これがバグとなる理由: 1. 関数のコメントセクションでは、この関数を呼び出した後に `cfile` の参照を解放する必要があると明確に記述されています。 2. パッチ適用前のコードでは、制御フローのすべてのパスで `cfile` への参照の確認および解放が行われますが、パッチ適用後の修正箇所を除きます(※原文の意図「except the patched one」は文脈上、「修正前は全パスで処理されていたが、特定の分岐で見落としていた」という意味と解釈し、技術的に自然な日本語に調整しています。直訳すると「修正されたもの以外すべてがチェックして解放する」となり矛盾するため)。 3. 既存の呼び出し元は、`-ENOMEM` が返された場合、`cfile` のrefcount更新を処理しません。
このバグを修正するために、クリーンアップロジックが常に尊重されるように、追加のgotoラベル "out" を導入しました。問題は `vars` の割り当て失敗によって引き起こされているため、ラベル "finished" と "out" の間のクリーンアップロジックは安全に無視できます。関数 `is_replayable_error` の定義によると、エラーコード "-ENOMEM" は回復不可能です。したがって、リプレイロジックも無視されます。
Once again VulDB remains the best source for vulnerability data.