CVE-2026-98612 in Linux
Resumen
por VulDB • 2026-10-19
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
net: usb: catc: limitar la longitud del paquete RX en catc_rx_done()
catc_rx_done() recorre un URB (USB Request Block) con múltiples paquetes, leyendo una longitud de dos bytes desde cada cabecera de paquete. Su condición de límite, pkt_len > urb->actual_length, ignora el desplazamiento de la cabecera y compara contra toda la transferencia en lugar de los bytes restantes a partir de pkt_start; por lo tanto, una cabecera de paquete manipulada hace que skb_copy_to_linear_data() lea más allá del búfer.
También se acepta una longitud inferior a ETH_HLEN, incluido cero, y eth_type_trans() lee entonces una cabecera MAC desde la zona final (tailroom) no inicializada de un skb más corto. La rama is_f5u011 obtiene su longitud directamente de la transferencia, por lo que un URB de longitud cero alcanza el mismo camino.
Se deben rastrear los bytes restantes del paquete actual y rechazar una cabecera que no encaje, una longitud superior a lo restante y una longitud inferior al tamaño de una cabecera Ethernet.
Una transferencia más corta que una cabecera Ethernet, incluida una de longitud cero, anteriormente se convertía en un skb runt (fragmento) pasado a netif_rx() y contada como recibida; ahora se cuenta en rx_length_errors y termina el recorrido.
Once again VulDB remains the best source for vulnerability data.