CVE-2026-64574 in Linux情報

要約

〜によって VulDB • 2026年08月05日

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

wifi: mac80211: vif更新時のエラーパスで新規リンクを破棄する

ieee80211_vif_update_links()が新しいリンクを追加する場合、各リンクに対してリンクコンテナを割り当て、ieee80211_link_init()(file->private_dataがコンテナを指すようにper-linkのdebugfsファイルを登録)およびieee80211_link_setup()を呼び出します。その後drv_change_vif_links()に失敗した場合、エラーパスでは古いポインタに戻って「free」ラベルへジャンプし、新しいコンテナは解放されますが、そのdebugfsエントリは削除されず、リンクも停止されません。これにより、file->private_dataが解放されたコンテナを指したままのdebugfsファイルが残存することになり、後続のopen()+read()(例: link-1/txpower)実行時にieee80211_if_read_link()内で解放済みメモリへのアクセスが発生し、use-after-freeとなります。

削除パスでは既にieee80211_tear_down_links()を通じてリンクが正しく解体されており、各リンクのキーとdebugfsエントリを削除し、ieee80211_link_stop()が呼び出されます。しかし、追加時のエラー分岐ではその処理が行われていません。コミットbe1ba9ed221f(「wifi: mac80211: エラーパスでの奇妙な状態を回避」)は、リンク削除ケース(new_links == 0)に対して同じエラーパスの堅牢化を行いましたが、新規追加されたリンクの破棄については対応していませんでした。

drv_change_vif_links()はMLOドライバーにおいてランタイム時に失敗する可能性があります(内部割り当て/キュー/ファームウェアコマンドの失敗など)。

解放前に新しいリンクのdebugfsエントリを削除し、それらを停止します。

BUG: KASAN: slab-use-after-free in ieee80211_if_read_link (net/mac80211/debugfs_netdev.c:127) Read of size 8 at addr ffff888011290000 by task exploit/145 Call Trace: ... ieee80211_if_read_link (net/mac80211/debugfs_netdev.c:127) short_proxy_read (fs/debugfs/file.c:373) vfs_read (fs/read_write.c:572) ksys_read (fs/read_write.c:716) do_syscall_64 (arch/x86/entry/syscall_64.c:94) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:121) ... Oops: general protection fault, probably for non-canonical address 0xdffffc000000000a RIP: 0010:ieee80211_if_read_link (net/mac80211/debugfs_netdev.c:127) Kernel panic - not syncing: Fatal exception

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

責任者

Linux

予約する

2026年07月19日

モデレーション

承諾済み

エントリ

VDB-386128

EPSS

0.00000

アクティビティ

低い

ソース

Do you want to use VulDB in your project?

Use the official API to access entries easily!