HIGH Introduced in 4.12
rtl8723bs ActionFrame OOB
CVE-2026-90017
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H
KernelScan AI0.0LOW
01Description
In the Linux kernel, the following vulnerability has been resolved: staging: rtl8723bs: fix OOB read in rtw_action_frame_parse() rtw_action_frame_parse() takes a frame_len parameter but never actually checks it before indexing into the frame body: const u8 *frame_body = frame + sizeof(struct ieee80211_hdr_3addr); ... c = frame_body[0]; ... a = frame_body[1]; frame_body already points 24 bytes (sizeof(struct ieee80211_hdr_3addr)) into frame, so reading frame_body[0] and frame_body[1] requires frame_len >= 26. A management action frame shorter than that (e.g. exactly 24 bytes, the minimum a malicious peer can send) causes a 1-2 byte out-of-bounds read. This is reachable from rtw_cfg80211_monitor_if_xmit_entry() and cfg80211_rtw_mgmt_tx() in ioctl_cfg80211.c, both of which pass attacker/user-influenced frame buffers and lengths straight through. Add the missing length check before frame_body is dereferenced.
02KernelScan AI Analysis
Risk summary
A nearby attacker can send a short WiFi management action frame to a device using the rtl8723bs SDIO WiFi driver, causing a 1-2 byte out-of-bounds read in the kernel. The over-read is bounded to immediately adjacent memory and is consumed only internally during frame parsing, with no direct information leak, integrity impact, or availability impact. Devices without this specific WiFi chip or with WiFi disabled are not affected.
Vulnerability analysis
The rtl8723bs WiFi driver's action frame parser receives a frame buffer and its length but never validates that the buffer is large enough before reading two bytes past the 24-byte IEEE 802.11 header. A malicious WiFi peer can send a management action frame as short as 24 bytes, causing the driver to read 1-2 bytes beyond the end of the buffer. The fix adds a length check that rejects any frame shorter than 26 bytes before the header fields are dereferenced. The vulnerable path is reachable over WiFi by any nearby attacker with no privileges on the target system, and also locally through the driver's management transmit interface if a local user has access to the WiFi device.
Lifecycle
03Fix Versions
| Branch | Introduced | Fixed in | Patch commit |
|---|---|---|---|
| 5.10 | 4.12 | 5.10.270 | 15081ff835b2 |
| 5.15 | 4.12 | 5.15.221 | 310aaa8058d1 |
| 6.1 | 4.12 | 6.1.188 | 1410bce22351 |
| 6.12 | 4.12 | 6.12.110 | 136f9a3ab87d |
| 6.18 | 4.12 | 6.18.51 | b041e3f35e0d |
| 6.6 | 4.12 | 6.6.157 | 0b7f64c7bb96 |
| 7.2 | 4.12 | 7.2.5 | a54fd1a44862 |
| mainline | 4.12 | 7.3 | ff917923f4fb |
| cip/5.10 | 4.12 | 5.10.271-cip78 | 15081ff835b2 |
| cip/6.1 | 4.12 | 6.1.189-cip61 | 1410bce22351 |
| cip/6.1-rt | 4.12 | 6.1.189-cip61-rt32 | 1410bce22351 |
| cip/6.12 | 4.12 | 6.12.111-cip32 | 136f9a3ab87d |
04CIP Kernels
State of the newest release of each Civil Infrastructure Platform SLTS tree, from CIP's own fix records.
| CIP tree | State |
|---|---|
| cip/6.12 | Fixed in 6.12.111-cip32 |
| cip/6.1 | Fixed in 6.1.189-cip61 |
| cip/6.1-rt | Fixed in 6.1.189-cip61-rt32 |
| cip/5.10 | Fixed in 5.10.271-cip78 |
| cip/5.10-rt | Affected — no CIP fix yet (latest 5.10.268-cip77-rt34) |
| cip/4.19 | Affected — no CIP fix yet (latest 4.19.325-cip136) |
| cip/4.19-rt | Affected — no CIP fix yet (latest 4.19.325-cip136-rt50) |