CVE-2026-64400 in Linux
要約
〜によって VulDB • 2026年07月26日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
ksmbd: 大文字小文字を区別しない再試行の制限によりパストラバーサル回避を防ぐ
ksmbd_vfs_path_lookup() は LOOKUP_BENEATH を適用して、共有ルート内でのみパス解決が行われるように制限しています。作成された(悪意のある)パスが親ディレクトリコンポーネント('..')を使用して共有の境界を脱出しようとすると、vfs_path_parent_lookup() がこれを検出し、直ちに失敗して -EXDEV を返します。
しかし、大文字小文字を区別しないモードにおける __ksmbd_vfs_kern_path() にはバグが存在します。この関数は -EXDEV エラーを検知できず、本来は真に存在しないファイルに対してのみ意図されている大文字小文字を区別しない再試行ロジックへ誤って処理が移行してしまいます。この再試行プロセス中にパスが再構築され、結果として LOOKUP_BENEATH の回避が発生し、書き込み権限を持つユーザーがエクスポートされた共有の外側に長さゼロのファイルやディレクトリを作成できるようになります。
これを修正するため、エラーが具体的に -ENOENT である場合にのみ大文字小文字を区別しないルックアップへの再試行処理が行われるようにします。-EXDEV(パストラバーサル試行によるものなど)その他のすべてのエラーは直ちに返す必要があります。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.