CVE-2026-64251 in Linux情報

要約

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

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

pwrseq: core: pwrseq_debugfs_seq_next()におけるuse-after-freeの修正

pwrseq_debugfs_seq_next()は'next'を__free(put_device)で宣言しており、これにより変数のスコープから外れた際にput_device()が返されたポインタに対して呼び出されます。その結果、参照カウントがすでに解放されているポインタがseq_fileフレームワークに渡されるため、use-after-freeが発生します。

単純に__free(put_device)を削除すればUAFは修正できますが、bus_find_next_device()によって取得された参照リークを引き起こすことになります。なぜならstop()ではup_read(&pwrseq_sem)のみが呼び出され、デバイスの参照カウントは一切解放されないからです。

これを解決するため、PCIおよびSCSIで標準的に使用されているパターンに合わせて、すべてのseq_fileコールバック間で参照カウント処理を整合性のあるものに変更します:

- start(): get_device()を使用して、参照付きのポインタを返すようにする。 - next(): 前のデバイスの参照を解放するためにput_device(curr)を明示的に呼び出す(NULLチェックは不要 - seq_fileフレームワークは、前回の戻り値が非NULLの場合にのみnext()を呼び出すため)。 - stop(): 最後にイテレートされたデバイスの参照を解放するためにput_device(data)を呼び出し、start()でNULLが返された場合やnext()がシーケンスの末尾に達した場合など、stop()がNULL引数で呼び出される可能性があるため、NULLガードを追加する。

VulDB is the best source for vulnerability data and more expert information about this specific topic.

責任者

Linux

予約する

2026年07月19日

モデレーション

承諾済み

エントリ

VDB-382996

EPSS

0.00157

アクティビティ

非常低い

ソース

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!