CVE-2025-38505

Source
https://nvd.nist.gov/vuln/detail/CVE-2025-38505
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2025-38505.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2025-38505
Downstream
Published
2025-08-16T10:54:42.909Z
Modified
2025-11-27T02:33:41.904753Z
Summary
wifi: mwifiex: discard erroneous disassoc frames on STA interface
Details

In the Linux kernel, the following vulnerability has been resolved:

wifi: mwifiex: discard erroneous disassoc frames on STA interface

When operating in concurrent STA/AP mode with host MLME enabled, the firmware incorrectly sends disassociation frames to the STA interface when clients disconnect from the AP interface. This causes kernel warnings as the STA interface processes disconnect events that don't apply to it:

[ 1303.240540] WARNING: CPU: 0 PID: 513 at net/wireless/mlme.c:141 cfg80211processdisassoc+0x78/0xec [cfg80211] [ 1303.250861] Modules linked in: 8021q garp stp mrp llc rfcomm bnep btnxpuart nlsiso88591 nlscp437 onboardus [ 1303.327651] CPU: 0 UID: 0 PID: 513 Comm: kworker/u9:2 Not tainted 6.16.0-rc1+ #3 PREEMPT [ 1303.335937] Hardware name: Toradex Verdin AM62 WB on Verdin Development Board (DT) [ 1303.343588] Workqueue: MWIFIEXRXWORKQUEUE mwifiexrxworkqueue [mwifiex] [ 1303.350856] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 1303.357904] pc : cfg80211processdisassoc+0x78/0xec [cfg80211] [ 1303.364065] lr : cfg80211processdisassoc+0x70/0xec [cfg80211] [ 1303.370221] sp : ffff800083053be0 [ 1303.373590] x29: ffff800083053be0 x28: 0000000000000000 x27: 0000000000000000 [ 1303.380855] x26: 0000000000000000 x25: 00000000ffffffff x24: ffff000002c5b8ae [ 1303.388120] x23: ffff000002c5b884 x22: 0000000000000001 x21: 0000000000000008 [ 1303.395382] x20: ffff000002c5b8ae x19: ffff0000064dd408 x18: 0000000000000006 [ 1303.402646] x17: 3a36333a61623a30 x16: 32206d6f72662063 x15: ffff800080bfe048 [ 1303.409910] x14: ffff000003625300 x13: 0000000000000001 x12: 0000000000000000 [ 1303.417173] x11: 0000000000000002 x10: ffff000003958600 x9 : ffff000003625300 [ 1303.424434] x8 : ffff00003fd9ef40 x7 : ffff0000039fc280 x6 : 0000000000000002 [ 1303.431695] x5 : ffff0000038976d4 x4 : 0000000000000000 x3 : 0000000000003186 [ 1303.438956] x2 : 000000004836ba20 x1 : 0000000000006986 x0 : 00000000d00479de [ 1303.446221] Call trace: [ 1303.448722] cfg80211processdisassoc+0x78/0xec [cfg80211] (P) [ 1303.454894] cfg80211rxmlmemgmt+0x64/0xf8 [cfg80211] [ 1303.460362] mwifiexprocessmgmtpacket+0x1ec/0x460 [mwifiex] [ 1303.466380] mwifiexprocessstarxpacket+0x1bc/0x2a0 [mwifiex] [ 1303.472573] mwifiexhandlerxpacket+0xb4/0x13c [mwifiex] [ 1303.478243] mwifiexrxworkqueue+0x158/0x198 [mwifiex] [ 1303.483734] processonework+0x14c/0x28c [ 1303.487845] workerthread+0x2cc/0x3d4 [ 1303.491680] kthread+0x12c/0x208 [ 1303.495014] retfrom_fork+0x10/0x20

Add validation in the STA receive path to verify that disassoc/deauth frames originate from the connected AP. Frames that fail this check are discarded early, preventing them from reaching the MLME layer and triggering WARN_ON().

This filtering logic is similar with that used in the ieee80211rxmgmtdisassoc() function in mac80211, which drops disassoc frames that don't match the current BSSID (!etheraddrequal(mgmt->bssid, sdata->vif.cfg.apaddr)), ensuring only relevant frames are processed.

Tested on: - 8997 with FW 16.68.1.p197

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/blob/cc431b3424123d84bcd7afd4de150b33f117a8ef/cves/2025/38xxx/CVE-2025-38505.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
36995892c271cce5e2230bc165a06f109b117222
Fixed
a963819a121f5dd61e0b39934d8b5dec529da96a
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
36995892c271cce5e2230bc165a06f109b117222
Fixed
52654cebaac23dae31a9c97ae0da5be649f1ab4d
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
36995892c271cce5e2230bc165a06f109b117222
Fixed
3b602ddc0df723992721b0d286c90c9bdd755b34

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
6.12.0
Fixed
6.12.39
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.15.7