Linuxカーネルにおいて、以下の脆弱性が修正されました。9p: p9_client_walk()のエラーパスで古いfid(oldfid)をputしないようにする修正です。p9_client_walk()がcloneをfalseにして呼び出された場合、fidはoldfidのエイリアスになります。要求送信後にウォークが失敗すると、エラーパスはclunk_fidに進み、そこで現在は無条件にp9_fid_put(fid)が呼ばれています。このため、所有権が呼び出し元にあるoldfidの参照カウントが減らされてしまいます。もしこれが最後の参照であった場合、oldfidはclunk(破棄)され、呼び出し元はまだoldfidが有効であると期待している状態で破壊されてしまいます。後にoldfidの使用またはputが行われると、use-after-freeや参照カウントのアンダーフローが発生する可能性があります。修正では、エラーパスのclunk_fid内で、oldfidとエイリアスしていないfidのみをputすることで対応しました。これは既存のエラーパス内のガードと一致しています。この問題は、複数コンポーネントのウォークが複数のp9_client_walk()呼び出しに分割され、後の非クローンウォークが失敗した場合に発生します。再現コードおよび参照カウントの警告ログは要望に応じて提供可能です。
Linux Linux Kernel 6.0 以上 6.1.177 未満 Linux Kernel 6.13 以上 6.18.38 未満 Linux Kernel 6.19 以上 7.1.3 未満 Linux Kernel 6.2 以上 6.6.144 未満 Linux Kernel 6.7 以上 6.12.95 未満
・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 ・当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 ・当該ソフトウェアが完全に停止する可能性があります。
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。
解放済みメモリの使用(CWE-416) [NVD評価]
CVE-2026-63795
National Vulnerability Database (NVD) : CVE-2026-63795 関連文書 : 9p: avoid putting oldfid in p9_client_walk() error path - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/6dbe9443d9f5f7fb6d319a7b77108853ae6c6bea) 関連文書 : 9p: avoid putting oldfid in p9_client_walk() error path - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/a7656d368265d085ac9bb85ab31b0cdb72ad8c38) 関連文書 : 9p: avoid putting oldfid in p9_client_walk() error path - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/99c379ca1e221c3d75c7c804ebbf4e5ee37a3070) 関連文書 : 9p: avoid putting oldfid in p9_client_walk() error path - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/a61bdcba4f64c2f90d01461913f429ab151f1ca6) 関連文書 : 9p: avoid putting oldfid in p9_client_walk() error path - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/1a3860d46e3eb47dbd60339783cdad7904486b9f) 関連文書 : 9p: avoid putting oldfid in p9_client_walk() error path - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/b84f46179c806450b89821221ea5bd9a1698aba8)
[2026年07月31日] 掲載