# CVE-2026-98349: wifi: libipw: reject too-short beacon and probe responses

> An integer overflow in the Linux kernel libipw driver allows out-of-bounds reads when processing short beacon frames, potentially causing crashes or data leaks.

- **Severity:** High 7.1 (`CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H`)
- **Exploited in the wild:** Not known
- **Login needed:** Not needed
- **Attackable:** Local or same network only
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 6 Oct 2026
- **Updated:** 19 Oct 2026
- **Also known as:** AZL-106302, BELL-CVE-2026-98349, DEBIAN-CVE-2026-98349, GHSA-pp5x-p5cv-w76c, UBUNTU-CVE-2026-98349

## What is CVE-2026-98349?

CVE-2026-98349 is a high-severity vulnerability in Linux, published on 6 Oct 2026. It can only be exploited from the same machine or local network, with no action from the victim.

### Official description

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.

## Which versions are affected by CVE-2026-98349?


## How do I fix CVE-2026-98349?

Apply the vendor's patch.

## Is CVE-2026-98349 being exploited?

There is no known exploitation of CVE-2026-98349 in the wild and no public exploit code.

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2026-98349 and fix it if it is affected.

What it is: CVE-2026-98349 is a high-severity vulnerability in Linux, published on 6 Oct 2026. It can only be exploited from the same machine or local network, with no action from the victim.
Exploitation: There is no known exploitation of CVE-2026-98349 in the wild and no public exploit code.

Affected product: Linux. No package-level version data is available, so check the vendor advisory linked from the reference page.

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2026-98349/ (Markdown: https://insights.sbomify.com/CVE-2026-98349/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2026-98349
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-98349
- OSV: https://osv.dev/vulnerability/CVE-2026-98349

---
From sbomify Insights: https://insights.sbomify.com/CVE-2026-98349/
Summaries are generated and may contain mistakes; the official description above is the record.
