Skip to main content
VulnerabilityPublished Updated

CVE-2026-64351: Linux kernel · net: usb: kalmia: bound RX frame length in kalmia_rx_fixup()

Affects Linux kernelSource CVE Database V5

0
Compare

Not known to be exploited · fixed in e24eb271061db384a3c3ef6f107fe515e68ef222 : update Linux kernel when convenient.

Data as of 6 Nov 2026, 17:04 UTC

Severity
Unrated

Rated by Threat Radar · No CVSS score from NVD or the CNA

Thin evidence

One scorer or none
CISA SSVC
Exploitation
No evidence of active exploitation and no public proof of concept
Automatable
Attackers cannot reliably automate steps 1–4 of the kill chain
Technical impact
Limited control over the software or limited information exposure

CISA SSVC assessment, 2026-11-06.

Patch
Available – fixed in e24eb271061db384a3c3ef6f107fe515e68ef222, c466097d85d52f3aa200736cb4759e66d4bbf6e3, aa4eef2cbb66ea3dfcfc24bdce798dd78a81b54b +5

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 25 Jul 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq 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 6 Nov 2026.

What to do

Upgrade to a fixed release listed under Affected software.

Affected software

ProductAffectedFixed in
LinuxLinuxAffected
  • ≥ d40261236e8e278cb1936cb5e934262971692b10, < e24eb271061db384a3c3ef6f107fe515e68ef222
Fixed in
  • e24eb271061db384a3c3ef6f107fe515e68ef222
LinuxLinuxAffected
  • ≥ d40261236e8e278cb1936cb5e934262971692b10, < c466097d85d52f3aa200736cb4759e66d4bbf6e3
Fixed in
  • c466097d85d52f3aa200736cb4759e66d4bbf6e3
LinuxLinuxAffected
  • ≥ d40261236e8e278cb1936cb5e934262971692b10, < aa4eef2cbb66ea3dfcfc24bdce798dd78a81b54b
Fixed in
  • aa4eef2cbb66ea3dfcfc24bdce798dd78a81b54b
LinuxLinuxAffected
  • ≥ d40261236e8e278cb1936cb5e934262971692b10, < 391706889a5112feafdc0c68db3ecc7ed325d09c
Fixed in
  • 391706889a5112feafdc0c68db3ecc7ed325d09c
LinuxLinuxAffected
  • ≥ d40261236e8e278cb1936cb5e934262971692b10, < 51e65f1d78457ea4f9513d90ab22c9dccbb35110
Fixed in
  • 51e65f1d78457ea4f9513d90ab22c9dccbb35110
LinuxLinuxAffected
  • ≥ d40261236e8e278cb1936cb5e934262971692b10, < 47b6bcef6e679593d2e86e04ee72c46a4e2f7139
Fixed in
  • 47b6bcef6e679593d2e86e04ee72c46a4e2f7139

Description

In the Linux kernel, the following vulnerability has been resolved: net: usb: kalmia: bound RX frame length in kalmia_rx_fixup() kalmia_rx_fixup() computes usb_packet_length = skb->len - (2 * KALMIA_HEADER_LENGTH) as a u16, guarded only by a pre-loop check that skb->len is at least KALMIA_HEADER_LENGTH, which is 6. A device can deliver a short bulk-IN frame with skb->len in the 6 to 11 range, or leave a short trailing remainder on a later loop iteration. Either case underflows usb_packet_length to about 65530. That bypasses the usb_packet_length < ether_packet_length truncation path. The device-supplied ether_packet_length, a le16 up to 65535 read from header_start[2], then drives a memcmp() and the following skb_trim() and skb_pull() past the end of the rx buffer. The rx buffer is hard_mtu * 10, which is 14000 bytes. That is an out of bounds read. Require both the start and end framing headers to be present before subtracting them, on every loop iteration.

References

Community reviews

Loading reviews…