Executive brief
The Linux kernel's IEEE 802.15.4 wireless networking stack (mac802154) contains a flaw in the link-layer security (llsec) decryption handler that fails to validate frame payload length before cryptographic processing. An attacker within radio range can send a specially crafted wireless frame with a payload shorter than the authentication tag length, causing an integer underflow and buffer over-read during AEAD decryption, leading to denial of service or potential information disclosure.
Technical details
The vulnerability is an integer underflow in the llsec_do_decrypt_auth() function in net/mac802154/llsec.c. When processing IEEE 802.15.4 secured frames, the code computes the associated-data length as `assoclen += datalen - authlen`, where authlen is 4, 8, or 16 bytes (the authentication tag length) and datalen is the payload length. If datalen < authlen, the subtraction underflows, causing assoclen to become a very large unsigned value (~4 GiB). This oversized value is then passed to aead_request_set_ad(), which instructs the AEAD crypto function to process far beyond the actual frame buffer, resulting in out-of-bounds reads in the scatterlist walk. The frame source is fully attacker-controlled from any IEEE 802.15.4 peer in radio range. The fix adds a length check to reject frames whose payload is shorter than the authentication tag before the subtraction. Patches are available in the Linux kernel stable tree (commits 2d6b42a61373... and 5bbf0cd9b6a7...) and mainline.
Affected products
- Linux Linux kernel 4.14 and later (affected since introduction of mac802154 llsec in v4.13)
Timeline
- 2026-08-10: disclosed: CVE-2026-68125 published
- 2026-08-03: patched: Fix merged into stable branches
- 2026-08-19: patched: Fix committed by Greg Kroah-Hartman to stable tree