Impact
In the Linux kernel the kalmia_rx_fixup() function incorrectly calculates the USB packet length for Kalmia USB Ethernet adapters. The calculation treats a subtraction as an unsigned 16‑bit integer, and if the received bulk‑IN frame is only marginally larger than the 6‑byte header, the result underflows to a value around 65530. This underflow bypasses the normal truncation check that limits packet processing to the Ethernet length specified by the device. As a result, memcmp(), skb_trim() and skb_pull() operations can read beyond the end of the receive buffer, which is sized at 14 000 bytes. The out‑of‑bounds read can corrupt kernel memory and cause a kernel panic, leading to a denial of service. The flaw does not grant direct code execution but can destabilise the kernel instance handling the USB device.
Affected Systems
The vulnerability affects Linux kernels that include the Kalmia USB Ethernet driver. It applies to all distributions that ship the driver, regardless of the specific kernel version. All kernel releases containing the unpatched kalmia_rx_fixup() function are therefore vulnerable. It is inferred that any kernel version with this function unmodified is susceptible, although the exact impact may vary by configuration.
Risk and Exploitability
The CVSS score is 5.5. The EPSS score of <1 % indicates a very low probability of widespread exploitation. The CVE is not listed in the CISA KEV catalog. Attackers would need to supply a specially crafted USB device with short bulk‑IN frames; this attack vector is inferred from the requirement for a non‑standard device and thus is local, requiring physical or USB proximity.
OpenCVE Enrichment
Debian DLA