HIGH Introduced in 3.16
mac802154 Llsec OOB
CVE-2026-68125
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
KernelScan AI8.8HIGH
01Description
In the Linux kernel, the following vulnerability has been resolved: mac802154: llsec: reject frames shorter than the authentication tag llsec_do_decrypt_auth() computes the associated-data length for the AEAD request as assoclen += datalen - authlen; where datalen is the number of bytes after the MAC header and authlen (4, 8 or 16) is the length of the authentication tag. Nothing verifies that the frame actually carries at least authlen payload bytes. A secured frame whose payload is shorter than the tag makes datalen - authlen negative; assoclen is then passed to aead_request_set_ad() as an unsigned value close to 4 GiB, so crypto_aead_decrypt() walks far off the end of the scatterlist that only spans the real frame. The frame is fully attacker-controlled and reaches this path from any IEEE 802.15.4 peer in radio range. Reject frames whose payload is shorter than the authentication tag before the subtraction. Dynamically reproduced on a KASAN kernel as a general-protection-fault in the AEAD scatterwalk, and the fix confirmed.
02KernelScan AI Analysis
Risk summary
Any device with an active IEEE 802.15.4 / Zigbee wireless interface is vulnerable to a single crafted secured frame from a peer in radio range. The frame triggers an unsigned integer underflow in the link-layer security decryption path, causing the AEAD crypto operation to access memory far beyond the frame buffer. This can crash the kernel and potentially leak or corrupt kernel memory.
Vulnerability analysis
The IEEE 802.15.4 link-layer security decryption path computes the length of authentication-associated data by subtracting the authentication tag length from the frame payload length without first checking that the payload is long enough. A crafted secured frame whose payload is shorter than the tag causes an unsigned integer underflow, producing an associated-data length close to 4 GiB. The AEAD decryption then walks far past the end of the frame's buffer, corrupting or disclosing kernel memory and typically crashing the kernel. The fix adds a length check that rejects any secured frame whose payload is shorter than the authentication tag before the subtraction is performed. Any IEEE 802.15.4 peer within radio range can trigger this by sending a single crafted secured frame; no authentication or privileges are required.
Lifecycle
03Fix Versions
| Branch | Introduced | Fixed in | Patch commit |
|---|---|---|---|
| 5.15 | 3.16 | 5.15.216 | 2d6b42a61373 |
| 6.6 | 3.16 | 6.6.148 | 5bbf0cd9b6a7 |
| mainline | 3.16 | 7.2 | fd3a3f28ed60 |
| 6.12 | 3.16 | 6.12.101 | de80808f37d9 |
| 7.1 | 3.16 | 7.1.6 | e09e0301d616 |
| 6.1 | 3.16 | 6.1.183 | ec7e62d77193 |
| 5.10 | 3.16 | 5.10.265 | f27ce82eb049 |
| 6.18 | 3.16 | 6.18.42 | f20dedce0429 |