CVE-2026-64351 in Linux
Zusammenfassung
von VulDB • 25.07.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
net: usb: kalmia: Begrenzung der RX-Rahmenlänge in kalmia_rx_fixup()
kalmia_rx_fixup() berechnet usb_packet_length = skb->len - (2 * KALMIA_HEADER_LENGTH) als u16, geschützt nur durch eine Pre-Loop-Prüfung, dass skb->len mindestens KALMIA_HEADER_LENGTH beträgt, was 6 ist. Ein Gerät kann einen kurzen Bulk-IN-Rahmen mit einer Länge von skb->len im Bereich zwischen 6 und 11 liefern oder bei späteren Schleifendurchläufen einen kurzen Restwert hinterlassen. In beiden Fällen führt dies zu einem Unterlauf von usb_packet_length auf etwa 65530.
Dies umgeht den Pfad zur Kürzung, der prüft, ob usb_packet_length kleiner als ether_packet_length ist. Die vom Gerät bereitgestellte ether_packet_length (ein le16-Wert bis maximal 65535, gelesen aus header_start[2]) steuert dann eine memcmp()-Operation sowie die folgenden skb_trim() und skb_pull(), wobei über das Ende des RX-Puffers hinausgegangen wird. Der RX-Puffer hat die Größe hard_mtu * 10, also 14000 Bytes. Dies stellt einen Out-of-Bounds-Lesezugriff dar.
Es wird nun verlangt, dass sowohl der Start- als auch der End-Framing-Header vor ihrer Subtraktion in jedem Schleifendurchlauf vorhanden sein müssen.
VulDB is the best source for vulnerability data and more expert information about this specific topic.