KernelScan.io

HIGH Introduced in 3.16

mac802154 Llsec OOB

CVE-2026-68125

CVSS 8.8 / 10.0 NVD

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

KernelScan AI8.8HIGH

01

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.

02

Engine v0.6.0

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.

Affectednet/mac802154/llsec.c (mac802154 llsec)

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.

03

BranchIntroducedFixed inPatch commit
5.153.165.15.2162d6b42a61373
6.63.166.6.1485bbf0cd9b6a7
mainline3.167.2fd3a3f28ed60
6.123.166.12.101de80808f37d9
7.13.167.1.6e09e0301d616
6.13.166.1.183ec7e62d77193
5.103.165.10.265f27ce82eb049
6.183.166.18.42f20dedce0429