KernelScan.io

HIGH Introduced in 3.2

ath6kl AssocInfo OOB

CVE-2026-89524

CVSS 8.1 / 10.0 NVD

CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H

KernelScan AI8.1HIGH

01

In the Linux kernel, the following vulnerability has been resolved: wifi: ath6kl: clamp assoc request/response lengths before subtracting IE offsets ath6kl_cfg80211_connect_event() subtracts fixed IE offsets from assoc_req_len (-= 4) and assoc_resp_len (-= 6), both u8, with no lower bound. The aggregate check recently added to ath6kl_wmi_connect_event_rx() bounds the declared lengths from above (their sum must fit the received event), but an assoc request/response shorter than its fixed offset still underflows here: the u8 wraps to ~250, and cfg80211_connect_result() / cfg80211_roamed() then treat that wrapped value as the IE length and copy that many bytes out of the small assoc_info buffer to user space via nl80211, disclosing adjacent slab memory. Clamp both lengths to their offsets before subtracting. Found by 0sec (https://0sec.ai) using automated source analysis; the missing lower bound is evident from source. Compile-tested.

02

Engine v0.6.0

Risk summary

A malformed association event from a nearby Wi-Fi network can cause the ath6kl driver to underflow a length field, producing an oversized information-element length that is then used to copy adjacent slab memory out to userspace via nl80211. This can disclose kernel memory contents and may also crash the kernel. The flaw is reachable by any device using the ath6kl wireless chipset when it processes crafted association request or response frames.

Affecteddrivers/net/wireless/ath/ath6kl/cfg80211.c (ath6kl wifi driver)

Vulnerability analysis

When the ath6kl driver processes a connect event from the firmware, it subtracts a fixed offset from the association request and response lengths to isolate the information elements, but it never checks that those lengths are large enough. A short association frame causes the length to underflow to a very large value, and the driver then uses that wrapped length to copy data from a small association buffer out to userspace, reading past the buffer into adjacent kernel heap memory. The fix ensures both lengths are at least as large as their offsets before subtracting, preventing any underflow. The vulnerable path is reached when the device associates with a malicious Wi-Fi access point, so an attacker within radio range can trigger the flaw without any local account or privileges.

03

BranchIntroducedFixed inPatch commit
5.103.25.10.270225587bdbf4b
5.153.25.15.221d337213a8897
6.13.26.1.188e11d5ae96d5e
6.123.26.12.109e3619bed5da1
6.183.26.18.50e1330d719c04
6.63.26.6.1576deb4d7a0c3d
7.23.27.2.48eb73016fb39
mainline3.27.33bbd05723d15
cip/5.103.25.10.271-cip78225587bdbf4b
cip/6.13.26.1.189-cip61e11d5ae96d5e
cip/6.1-rt3.26.1.189-cip61-rt32e11d5ae96d5e
cip/6.123.26.12.111-cip32e3619bed5da1

04

State of the newest release of each Civil Infrastructure Platform SLTS tree, from CIP's own fix records.

CIP treeState
cip/6.12Fixed in 6.12.111-cip32
cip/6.1Fixed in 6.1.189-cip61
cip/6.1-rtFixed in 6.1.189-cip61-rt32
cip/5.10Fixed in 5.10.271-cip78
cip/5.10-rtAffected — no CIP fix yet (latest 5.10.268-cip77-rt34)
cip/4.19Affected — no CIP fix yet (latest 4.19.325-cip136)
cip/4.19-rtAffected — no CIP fix yet (latest 4.19.325-cip136-rt50)
cip/4.4Affected — no CIP fix yet (latest 4.4.302-cip115)
cip/4.4-rtAffected — no CIP fix yet (latest 4.4.302-cip115-rt63)