Skip to content

Commit b0a895c

Browse files
committed
wifi: cfg80211: fix use-after-free in cmp_bss()
jira VULN-156095 cve CVE-2025-39864 commit-author Dmitry Antipov <dmantipov@yandex.ru> commit 26e8444 Following bss_free() quirk introduced in commit 776b358 ("cfg80211: track hidden SSID networks properly"), adjust cfg80211_update_known_bss() to free the last beacon frame elements only if they're not shared via the corresponding 'hidden_beacon_bss' pointer. Reported-by: syzbot+30754ca335e6fb7e3092@syzkaller.appspotmail.com Closes: https://syzkaller.appspot.com/bug?extid=30754ca335e6fb7e3092 Fixes: 3ab8227 ("cfg80211: refactor cfg80211_bss_update") Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru> Link: https://patch.msgid.link/20250813135236.799384-1-dmantipov@yandex.ru Signed-off-by: Johannes Berg <johannes.berg@intel.com> (cherry picked from commit 26e8444) Signed-off-by: Roxana Nicolescu <rnicolescu@ciq.com>
1 parent 7c51a90 commit b0a895c

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

net/wireless/scan.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1630,7 +1630,8 @@ cfg80211_update_known_bss(struct cfg80211_registered_device *rdev,
16301630
*/
16311631

16321632
f = rcu_access_pointer(new->pub.beacon_ies);
1633-
kfree_rcu((struct cfg80211_bss_ies *)f, rcu_head);
1633+
if (!new->pub.hidden_beacon_bss)
1634+
kfree_rcu((struct cfg80211_bss_ies *)f, rcu_head);
16341635
return false;
16351636
}
16361637

0 commit comments

Comments
 (0)