CVE-2026-68408 in Linux情報

要約

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

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

wifi: cfg80211: デッドロックを解消するため pmsr_free_wk を wiphy_work に変換する

PMSRセッション所有のnetlinkソケットがクローズされると、cfg80211_release_pmsr() はリクエストの nl_portid をクリアし、pmsr_free_wk キューに cfg80211_pmsr_process_abort() の非同期呼び出しをキューイングします。

インターフェースが同時にダウンする場合、wiphy_lock 下で cfg80211_pmsr_wdev_down() が呼ばれ、実行中のワークの完了を待つために cancel_work_sync(&pmsr_free_wk) を呼び出します。このワーク関数は process_abort を呼び出す前に guard(wiphy) を介して wiphy_lock を取得します。

これがデッドロックです:wdev_down は wiphy_lock を保持し、cancel_work_sync() 内部でブロックしています;pmsr_free_wk は同じ wiphy_lock の獲得を試みることでブロックしています。どちらのスレッドも進行できません。

cfg80211_leave_locked() からでも同様のデッドロックが発生する可能性があります。これは wiphy_lock 下ですべてのインターフェースタイプに対して cfg80211_pmsr_wdev_down() を呼び出します。

pmsr_free_wk を単純な work_struct から wiphy_work に変換することでこれを修正します。wiphy_work ディスパッチャはワークアイテムを実行中に wiphy_lock を保持するため、ワーク関数内の明示的な guard(wiphy) は不要になります。wiphy_lock の保持中に wiphy_work_cancel() を安全に呼び出すことができます - wiphy_lock がワークの並列実行を防ぐため、wiphy_work_cancel() は決してブロックせず、デッドロックを解消します。

NETDEV_GOING_DOWN ハンドラから pmsr_free_wk に対する cancel_work_sync() の呼び出しを削除します。その直前に無条件に呼ばれる cfg80211_leave() は、cfg80211_pmsr_wdev_down() 内部の wiphy_work_cancel() を介して wiphy_lock 下で保留中のワークを取り消すためです。

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

責任者

Linux

予約する

2026年07月30日

モデレーション

承諾済み

エントリ

VDB-387781

EPSS

0.00000

アクティビティ

低い

ソース

Interested in the pricing of exploits?

See the underground prices here!