CVE-2026-98612: Linux kernel · net: usb: catc: bound the RX packet length in catc_rx_done()
Affects Linux kernelSource GCVE Database
Not known to be exploited · CVSS 5.1 High.
Data as of 28 Oct 2026, 01:28 UTC
CVSS:4.0/AV:P/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:NExploitation evidence
Disclosed: evidence found.
CVE published 18 Oct 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Affected software
| Product | Affected | Fixed in |
|---|---|---|
Ubuntu 26.04 LTSlinuxpkg:deb/ubuntu/linux?arch=source&distro=resoluteOther threats | Affected
| Fixed in– |
Ubuntu 26.04 LTSlinux-awspkg:deb/ubuntu/linux-aws?arch=source&distro=resoluteOther threats | Affected
| Fixed in– |
Ubuntu 26.04 LTSlinux-azurepkg:deb/ubuntu/linux-azure?arch=source&distro=resoluteOther threats | Affected
| Fixed in– |
Ubuntu 26.04 LTSlinux-azure-fdepkg:deb/ubuntu/linux-azure-fde?arch=source&distro=resoluteOther threats | Affected
| Fixed in– |
Ubuntu 26.04 LTSlinux-gcppkg:deb/ubuntu/linux-gcp?arch=source&distro=resoluteOther threats | Affected
| Fixed in– |
Ubuntu 26.04 LTSlinux-gkepkg:deb/ubuntu/linux-gke?arch=source&distro=resoluteOther threats | Affected
| Fixed in– |
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
Description
In the Linux kernel, the following vulnerability has been resolved: net: usb: catc: bound the RX packet length in catc_rx_done() catc_rx_done() walks a multi-packet URB, reading a two-byte length from each packet header. Its bound, pkt_len > urb->actual_length, ignores the header offset and compares against the whole transfer rather than the bytes left from pkt_start, so a crafted packet header makes skb_copy_to_linear_data() read past the buffer. A length below ETH_HLEN is also accepted, including zero, and eth_type_trans() then reads a MAC header from the uninitialised tailroom of a shorter skb. The is_f5u011 branch takes its length straight from the transfer, so a zero-length URB reaches the same path. Track the bytes remaining from the current packet, and reject a header that does not fit, a length past what is left, and a length below an Ethernet header. A transfer shorter than an Ethernet header, including a zero-length one, previously became a runt skb passed to netif_rx() and counted as received; it is now counted in rx_length_errors and ends the walk.
References
- ubuntu.com/security/CVE-2026-98612 (opens in a new tab)
- cve.org/CVERecord?id=CVE-2026-98612 (opens in a new tab)
- git.kernel.org/stable/c/801e21cf7dd6bcee31db907625d5045f21c9c1d9 (opens in a new tab)
- git.kernel.org/stable/c/21e206dd88b3de6e36bb607dec3797c59bc3007b (opens in a new tab)
- git.kernel.org/stable/c/2f87bbd5a7bf6ee79d598f7e22cf77810d29ae87 (opens in a new tab)
- git.kernel.org/stable/c/dd9c6f8f05170223edec2dac476606cd40d9acb7 (opens in a new tab)
- git.kernel.org/stable/c/9d565b6b72fe3f41fd43636e143072848105189f (opens in a new tab)
- git.kernel.org/stable/c/3942557938f846e7481f6ccb2b41ccbdee61baa1 (opens in a new tab)
- git.kernel.org/stable/c/4cc0a8eb2f9336cfa3e4ac329bc5585ca970ced3 (opens in a new tab)
- git.kernel.org/stable/c/9d4be026bdff2c1da7b6c7e01c0a47f2df409e97 (opens in a new tab)