7.8

CVE-2026-80944

wifi: mwifiex: Detach sync cmd buffer on interrupted wait

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

wifi: mwifiex: Detach sync cmd buffer on interrupted wait

mwifiex synchronous commands keep the caller-provided data buffer in
cmd_node->data_buf. Several callers pass stack-allocated objects there.

If wait_event_interruptible_timeout() is interrupted, the caller can
return and release that stack object while the firmware command is still
the current command. A late firmware response then reaches the normal
response handler, which can copy data through cmd_node->data_buf into the
stale stack address.

This fixes a stack corruption observed during repeated association and
disassociation cycles. The panic trace showed the command wait being
interrupted immediately before a bad pointer dereference:

  cmd_wait_q terminated: -512
  Unable to handle kernel paging request at virtual address 002c583837384662
  Kernel panic - not syncing: stack-protector: Kernel stack is corrupted
  ...
  Tainted: [M]=MACHINE_CHECK

The fault address decodes as little-endian ASCII:

  0x002c583837384662 -> "bF878X,\0"

which is a fragment of the VERSION_EXT firmware string exposed as
debugfs "verext":

  w8997o-V4, RF878X, FP92, 16.92.21.p153.7

The same runs also showed corrupted control data containing:

  0x2400372e333531 -> "153.7\0$"

which is the tail of the same VERSION_EXT string. This points at a late
VERSION_EXT response writing through a stale stack-backed data_buf after
the interrupted wait returned.

After cancelling pending commands on an interrupted or timed-out wait,
detach the caller-owned data buffer from the still-current command. This
preserves the existing command cancellation behaviour while preventing a
late response from writing through a pointer whose lifetime ended with the
waiting caller.

Tested on an i.MX8MP board using an 88W8997.
Daten sind bereitgestellt durch das CVE Programm von einer CVE Numbering Authority (CNA) (Unstrukturiert).
HerstellerLinux
≫
Produkt Linux
Default Statusunaffected
Version 3d026d09b28dda24777129a931634949c75a9181
Version < 8c67b8c50286e0cb7f18d667e6a37a2ec6e08ff9
Status affected
Version 3d026d09b28dda24777129a931634949c75a9181
Version < 9024c7729eb523cf4f3a4203966d3a4aaabf030d
Status affected
Version 3d026d09b28dda24777129a931634949c75a9181
Version < 9e06c9c8a1f10c55d9bc5d139656d58795e64483
Status affected
Version 3d026d09b28dda24777129a931634949c75a9181
Version < f2134d6ff30cd6e1bf63d6b0a5d8e0839f0168b3
Status affected
Version 3d026d09b28dda24777129a931634949c75a9181
Version < 20ee9c03f261bf6ac59331e2ca7b46b23646412a
Status affected
Version 3d026d09b28dda24777129a931634949c75a9181
Version < b1bbeb8970eeb6c6bf3cd5314138103f7b69446d
Status affected
Version 3d026d09b28dda24777129a931634949c75a9181
Version < d29a165588b6a0cf7a38db5cbd602aef7ef8c658
Status affected
Version 3d026d09b28dda24777129a931634949c75a9181
Version < ef06882c7d8a7400b67d0d003b1008093dd589ed
Status affected
HerstellerLinux
≫
Produkt Linux
Default Statusaffected
Version 3.15
Status affected
Version 0
Version < 3.15
Status unaffected
Version <= 5.10.*
Version 5.10.270
Status unaffected
Version <= 5.15.*
Version 5.15.221
Status unaffected
Version <= 6.1.*
Version 6.1.188
Status unaffected
Version <= 6.6.*
Version 6.6.157
Status unaffected
Version <= 6.12.*
Version 6.12.109
Status unaffected
Version <= 6.18.*
Version 6.18.50
Status unaffected
Version <= 7.2.*
Version 7.2.4
Status unaffected
Version <= *
Version 7.3-rc1
Status unaffected
VulnDex Vulnerability Enrichment
Diese Information steht angemeldeten Benutzern zur Verfügung. Login Login
Zu dieser CVE wurde keine Warnung gefunden.
EPSS Metriken
Typ Quelle Score Percentile
EPSS FIRST.org 0.13% 0.028
CVSS Metriken
Quelle Base Score Exploit Score Impact Score Vector String
416baaa9-dc9f-4396-8d5f-8c081fb06d67 7.8 1.8 5.9
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Es wurden noch keine Informationen zu CWE veröffentlicht.
https://git.kernel.org/stable/c/20ee9c03f261bf6ac59331e2ca7b46b23646412a
https://git.kernel.org/stable/c/b1bbeb8970eeb6c6bf3cd5314138103f7b69446d
https://git.kernel.org/stable/c/d29a165588b6a0cf7a38db5cbd602aef7ef8c658
https://git.kernel.org/stable/c/ef06882c7d8a7400b67d0d003b1008093dd589ed
https://git.kernel.org/stable/c/8c67b8c50286e0cb7f18d667e6a37a2ec6e08ff9
https://git.kernel.org/stable/c/9024c7729eb523cf4f3a4203966d3a4aaabf030d
https://git.kernel.org/stable/c/9e06c9c8a1f10c55d9bc5d139656d58795e64483
https://git.kernel.org/stable/c/f2134d6ff30cd6e1bf63d6b0a5d8e0839f0168b3