{"id":"CVE-2026-80944","summary":"wifi: mwifiex: Detach sync cmd buffer on interrupted wait","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: mwifiex: Detach sync cmd buffer on interrupted wait\n\nmwifiex synchronous commands keep the caller-provided data buffer in\ncmd_node-\u003edata_buf. Several callers pass stack-allocated objects there.\n\nIf wait_event_interruptible_timeout() is interrupted, the caller can\nreturn and release that stack object while the firmware command is still\nthe current command. A late firmware response then reaches the normal\nresponse handler, which can copy data through cmd_node-\u003edata_buf into the\nstale stack address.\n\nThis fixes a stack corruption observed during repeated association and\ndisassociation cycles. The panic trace showed the command wait being\ninterrupted immediately before a bad pointer dereference:\n\n  cmd_wait_q terminated: -512\n  Unable to handle kernel paging request at virtual address 002c583837384662\n  Kernel panic - not syncing: stack-protector: Kernel stack is corrupted\n  ...\n  Tainted: [M]=MACHINE_CHECK\n\nThe fault address decodes as little-endian ASCII:\n\n  0x002c583837384662 -\u003e \"bF878X,\\0\"\n\nwhich is a fragment of the VERSION_EXT firmware string exposed as\ndebugfs \"verext\":\n\n  w8997o-V4, RF878X, FP92, 16.92.21.p153.7\n\nThe same runs also showed corrupted control data containing:\n\n  0x2400372e333531 -\u003e \"153.7\\0$\"\n\nwhich is the tail of the same VERSION_EXT string. This points at a late\nVERSION_EXT response writing through a stale stack-backed data_buf after\nthe interrupted wait returned.\n\nAfter cancelling pending commands on an interrupted or timed-out wait,\ndetach the caller-owned data buffer from the still-current command. This\npreserves the existing command cancellation behaviour while preventing a\nlate response from writing through a pointer whose lifetime ended with the\nwaiting caller.\n\nTested on an i.MX8MP board using an 88W8997.","modified":"2026-09-13T03:46:47.889157606Z","published":"2026-09-11T19:42:16.076Z","database_specific":{"cna_assigner":"Linux","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/80xxx/CVE-2026-80944.json"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/20ee9c03f261bf6ac59331e2ca7b46b23646412a"},{"type":"WEB","url":"https://git.kernel.org/stable/c/b1bbeb8970eeb6c6bf3cd5314138103f7b69446d"},{"type":"WEB","url":"https://git.kernel.org/stable/c/d29a165588b6a0cf7a38db5cbd602aef7ef8c658"},{"type":"WEB","url":"https://git.kernel.org/stable/c/ef06882c7d8a7400b67d0d003b1008093dd589ed"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/80xxx/CVE-2026-80944.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-80944"},{"type":"PACKAGE","url":"https://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":"3d026d09b28dda24777129a931634949c75a9181"},{"fixed":"20ee9c03f261bf6ac59331e2ca7b46b23646412a"},{"fixed":"b1bbeb8970eeb6c6bf3cd5314138103f7b69446d"},{"fixed":"d29a165588b6a0cf7a38db5cbd602aef7ef8c658"},{"fixed":"ef06882c7d8a7400b67d0d003b1008093dd589ed"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-80944.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.15.0"},{"fixed":"6.12.109"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.13.0"},{"fixed":"6.18.50"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"7.2.4"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-80944.json"}}],"schema_version":"1.9.0"}