CVE-2026-98349 PUBLISHED

wifi: libipw: reject too-short beacon and probe responses

Assigner: Linux
Reserved: 25.09.2026 Published: 06.10.2026 Updated: 06.10.2026

In the Linux kernel, the following vulnerability has been resolved:

wifi: libipw: reject too-short beacon and probe responses

libipw_process_probe_response() and the libipw_network_init() call it makes assume the frame contains the full 36-byte beacon and probe response prefix, but the ipw2100 and ipw2200 receive paths only establish that a management frame carries the generic 24-byte three-address header.

libipw_network_init() then computes the information element length as

<pre>stats->len - sizeof(*beacon) </pre>

stats->len is a u16 and sizeof() has type size_t, so the subtraction is evaluated as size_t and wraps instead of going negative. Truncating that to the u16 length parameter of libipw_parse_info_param() yields 65524 for a 24-byte beacon, and the parser then walks the receive buffer as if it held almost 64 KiB of information elements, reading past the allocation.

Reject the frame before any fixed field is touched.

Found by an AI-assisted review of length arithmetic in management frame parsers. Verified with a KUnit case under Generic KASAN on arm64 under QEMU; I do not have the hardware, so it is not tested on a real device.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from b453872c35cfcbdbf5a794737817f7d4e7b1b579 to cee6f141b3bebe62eb0363fd147acb52023935f0 (excl.)
  • affected from b453872c35cfcbdbf5a794737817f7d4e7b1b579 to 23afeb5d2bdfd34c8a0a661876291a4fa9978293 (excl.)
  • affected from b453872c35cfcbdbf5a794737817f7d4e7b1b579 to 89959ff00a978f3172726d3d5f861ee6f1aae26d (excl.)
  • affected from b453872c35cfcbdbf5a794737817f7d4e7b1b579 to 14ae269c1306053ddf1ccf37c4bd66e085a652d1 (excl.)
  • affected from b453872c35cfcbdbf5a794737817f7d4e7b1b579 to ff756e6647722b7d225d882f7bdb186d8eee318e (excl.)
  • affected from b453872c35cfcbdbf5a794737817f7d4e7b1b579 to 2c87bbc00dc93149d1dc4f803ad92d92e4ef3758 (excl.)
  • affected from b453872c35cfcbdbf5a794737817f7d4e7b1b579 to 19959fb60228f6dccc40d55507f8b1a751c2dc89 (excl.)
  • affected from b453872c35cfcbdbf5a794737817f7d4e7b1b579 to 5ce5721e8cbe3e80db8f43851cc2a2a92485ef4b (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 2.6.14 is affected
  • unaffected from 0 to 2.6.14 (excl.)
  • unaffected from 5.10.271 to 5.10.* (incl.)
  • unaffected from 5.15.222 to 5.15.* (incl.)
  • unaffected from 6.1.189 to 6.1.* (incl.)
  • unaffected from 6.6.158 to 6.6.* (incl.)
  • unaffected from 6.12.112 to 6.12.* (incl.)
  • unaffected from 6.18.54 to 6.18.* (incl.)
  • unaffected from 7.2.8 to 7.2.* (incl.)
  • unaffected from 7.3-rc4 to * (incl.)

References