PT-2026-64572 · Linux · Linux

CVE-2026-64351

·

Published

2026-07-25

·

Updated

2026-07-25

None

No severity ratings or metrics are available. When they are, we'll update the corresponding info on the page.
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.
Found an issue in the description? Have something to add? Feel free to write us 👾

Related Identifiers

CVE-2026-64351

Affected Products

Linux