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

wifi: cfg80211: validate rx/tx MLME callback frame lengths before access

cfg80211_rx_mlme_mgmt() and cfg80211_tx_mlme_mgmt() call tracepoints
before rejecting frames shorter than the frame-control field. After
that, they only require len >= 2 before dispatching into subtype
handlers that assume their fixed fields are present.

The frames that trip this are not shorter than 2 bytes; they are short
relative to their subtype. mwifiex is a concrete in-tree example on the
length side: mwifiex_process_mgmt_packet() only requires a 4-address
ieee80211_hdr plus the 2-byte firmware length prefix before handing the
frame to cfg80211_rx_mlme_mgmt(). After stripping the length prefix and
removing addr4, pkt_len can be exactly 24: a bare 3-address management
header with no reason-code body. The existing WARN_ON(len < 2) does not
fire on such a frame, and cfg80211_process_deauth() then reads
u.deauth.reason_code as a two-byte access starting at offset 24,
immediately past the 24-byte buffer.

Add a frame-control length gate, then validate each subtype's minimum
frame size in an if/else-if chain that mirrors the dispatch logic. Trace
only after the frame is known to be well-formed.

Side effects of this change:
- The WARN_ON(len < 2) is dropped. It only guarded the frame_control
read, never the subtype fixed fields, and it does not fire on the
frames that actually trigger the out-of-bounds read (which are >= 2).
The len >= 2 check is kept as the guard before dereferencing
frame_control, but without the warning: these are exported callbacks
and a malformed frame from a driver should be dropped silently rather
than backtraced.
- cfg80211_tx_mlme_mgmt() previously routed every non-deauth subtype
through disassociation handling; it now silently ignores unrecognised
subtypes.
Published: 2026-09-24
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service
Action: Immediate Patch
AI Analysis

Impact

The flaw in Linux’s cfg80211 subsystem allows a malformed 802.11 management frame to be processed without proper length validation. When a driver such as mwifiex hands a frame that is shorter than the expected subtype header, the kernel attempts to read fields beyond the end of the buffer, causing an out‑of‑bounds read that can trigger a crash or memory corruption. The vulnerability is limited to the kernel code that handles receive and transmit MLME callbacks and does not involve user‑land code directly.

Affected Systems

All Linux kernel releases before the patch that adds length gating to cfg80211_rx_mlme_mgmt and cfg80211_tx_mlme_mgmt are affected. The issue is exercised by drivers that forward raw management frames, such as mwifiex, so any host running a kernel with the affected driver and an active wireless interface is at risk.

Risk and Exploitability

The flaw has no publicly disclosed exploitation code and is not listed in the CISA KEV catalog. The CVSS score of 5.5 indicates moderate severity, and the EPSS score of < 1% suggests a low yet nonzero likelihood of exploitation. An attacker could trigger the out‑of‑bounds read by broadcasting a specially crafted frame, potentially causing a kernel crash or memory corruption that would result in a denial of service.

Generated by OpenCVE AI on October 1, 2026 at 16:41 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply a kernel update that incorporates the cfg80211 length validation patch (e.g., commit 0ec738a0d361d7eb37188117166d201f9df622d3).
  • If an update is not immediately possible, disable the wireless interface or unload the offending driver (such as mwifiex) to prevent processing of malformed management frames.
  • Manually apply the commit from the kernel source to a local build and rebuild the kernel to address the vulnerability.

Generated by OpenCVE AI on October 1, 2026 at 16:41 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4817-1 linux-6.12 security update
Debian DSA Debian DSA DSA-6528-1 linux security update
History

Sat, 03 Oct 2026 11:15:00 +0000


Tue, 29 Sep 2026 13:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Fri, 25 Sep 2026 07:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-125

Thu, 24 Sep 2026 16:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: wifi: cfg80211: validate rx/tx MLME callback frame lengths before access cfg80211_rx_mlme_mgmt() and cfg80211_tx_mlme_mgmt() call tracepoints before rejecting frames shorter than the frame-control field. After that, they only require len >= 2 before dispatching into subtype handlers that assume their fixed fields are present. The frames that trip this are not shorter than 2 bytes; they are short relative to their subtype. mwifiex is a concrete in-tree example on the length side: mwifiex_process_mgmt_packet() only requires a 4-address ieee80211_hdr plus the 2-byte firmware length prefix before handing the frame to cfg80211_rx_mlme_mgmt(). After stripping the length prefix and removing addr4, pkt_len can be exactly 24: a bare 3-address management header with no reason-code body. The existing WARN_ON(len < 2) does not fire on such a frame, and cfg80211_process_deauth() then reads u.deauth.reason_code as a two-byte access starting at offset 24, immediately past the 24-byte buffer. Add a frame-control length gate, then validate each subtype's minimum frame size in an if/else-if chain that mirrors the dispatch logic. Trace only after the frame is known to be well-formed. Side effects of this change: - The WARN_ON(len < 2) is dropped. It only guarded the frame_control read, never the subtype fixed fields, and it does not fire on the frames that actually trigger the out-of-bounds read (which are >= 2). The len >= 2 check is kept as the guard before dereferencing frame_control, but without the warning: these are exported callbacks and a malformed frame from a driver should be dropped silently rather than backtraced. - cfg80211_tx_mlme_mgmt() previously routed every non-deauth subtype through disassociation handling; it now silently ignores unrecognised subtypes.
Title wifi: cfg80211: validate rx/tx MLME callback frame lengths before access
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-03T10:57:38.089Z

Reserved: 2026-09-18T17:59:28.790Z

Link: CVE-2026-93805

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-24T17:17:13.460

Modified: 2026-10-03T11:17:50.190

Link: CVE-2026-93805

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-09-24T00:00:00Z

Links: CVE-2026-93805 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-01T16:45:09Z

Weaknesses