CVE-2026-64351
CVE.org · Published
- Record status
- Published
- Identifier year (not publication year)
- 2026
- Source publication
- Source updated
- Imported by cveboard
- Source snapshot
- cve_2026-10-24_midnight_baseline ·
CNA source text (English)
net: usb: kalmia: bound RX frame length in kalmia_rx_fixup()
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.
Scoped product and version facts
Fix information unknown; no fixed version is derived here. Missing information does not prove that no fix exists.
Exploitation unknown; this catalogue does not assess exploitation.
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
unaffected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| d40261236e8e278cb1936cb5e934262971692b10 | affected | git | 391706889a5112feafdc0c68db3ecc7ed325d09c | Unavailable | None listed |
| d40261236e8e278cb1936cb5e934262971692b10 | affected | git | aa4eef2cbb66ea3dfcfc24bdce798dd78a81b54b | Unavailable | None listed |
| d40261236e8e278cb1936cb5e934262971692b10 | affected | git | 2d04c37ed4e1d0f733ad39ec35b5a5d8818b4f4a | Unavailable | None listed |
| d40261236e8e278cb1936cb5e934262971692b10 | affected | git | 46ab32870d010e9a057bc5659cea22b7e728ca88 | Unavailable | None listed |
| d40261236e8e278cb1936cb5e934262971692b10 | affected | git | c466097d85d52f3aa200736cb4759e66d4bbf6e3 | Unavailable | None listed |
| d40261236e8e278cb1936cb5e934262971692b10 | affected | git | e24eb271061db384a3c3ef6f107fe515e68ef222 | Unavailable | None listed |
| d40261236e8e278cb1936cb5e934262971692b10 | affected | git | 51e65f1d78457ea4f9513d90ab22c9dccbb35110 | Unavailable | None listed |
| d40261236e8e278cb1936cb5e934262971692b10 | affected | git | 47b6bcef6e679593d2e86e04ee72c46a4e2f7139 | Unavailable | None listed |
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
affected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 3.0 | affected | Unavailable | Unavailable | Unavailable | None listed |
| 0 | unaffected | semver | 3.0 | Unavailable | None listed |
| 5.10.261 | unaffected | semver | Unavailable | 5.10.* | None listed |
| 5.15.212 | unaffected | semver | Unavailable | 5.15.* | None listed |
| 6.1.178 | unaffected | semver | Unavailable | 6.1.* | None listed |
| 6.6.145 | unaffected | semver | Unavailable | 6.6.* | None listed |
| 6.12.96 | unaffected | semver | Unavailable | 6.12.* | None listed |
| 6.18.39 | unaffected | semver | Unavailable | 6.18.* | None listed |
| 7.1.4 | unaffected | semver | Unavailable | 7.1.* | None listed |
| 7.2 | unaffected | original_commit_for_fix | Unavailable | * | None listed |