KernelScan.io

HIGH Introduced in 2.6.14

libipw Beacon OOB

CVE-2026-98349

CVSS 7.1 / 10.0 NVD

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

KernelScan AI8.0HIGH

01

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 stats->len - sizeof(*beacon) 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.

02

Engine v0.7.0

Risk summary

Any device using an Intel ipw2100 or ipw2200 WiFi adapter is vulnerable to a remote out-of-bounds read triggered by a crafted short beacon or probe response frame. An attacker within WiFi range can send the malformed frame without authentication or user interaction, causing the kernel to read up to 64 KB past the allocated buffer. This can leak sensitive kernel memory and crash the system.

Affecteddrivers/net/wireless/intel/ipw2x00/libipw_rx.c (wifi libipw)

Vulnerability analysis

When a WiFi beacon or probe response frame shorter than the expected 36-byte prefix is received, the length calculation for information elements wraps around to a very large value because the subtraction is performed in unsigned arithmetic. The parser then walks the receive buffer as if it contained nearly 64 KB of data, reading far past the allocation and leaking kernel heap memory or crashing the system. The fix adds a simple length check at the top of the receive handler so that any frame shorter than the expected beacon prefix is rejected before any field is accessed. The vulnerable path is reached whenever an ipw2100 or ipw2200 wireless adapter processes a management frame sent by any device within WiFi range; no privileges or user interaction are required.

03

BranchIntroducedFixed inPatch commit
5.102.6.145.10.271cee6f141b3be
5.152.6.145.15.22223afeb5d2bdf
6.12.6.146.1.18989959ff00a97
6.62.6.146.6.15814ae269c1306
6.122.6.146.12.112ff756e664772
6.182.6.146.18.542c87bbc00dc9
7.22.6.147.2.819959fb60228
mainline2.6.147.3-rc45ce5721e8cbe