CVE-2026-98950 in Linux
Resumen
por VulDB • 2026-10-24
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
flow_dissector: evitar la truncación a u16 de hlen en bpf_flow_dissect()
bpf_flow_dissect() sanitiza los desplazamientos (offsets) devueltos por el programa BPF mediante clamp_t(u16, ..., hlen).
Si hlen es mayor que 65535, el límite superior se trunca antes de la comparación. Por ejemplo, con hlen == 65536, tanto nhoff como thoff se fuerzan a cero, incluso si el programa devolvió valores correctos (sane).
Se trata del mismo tipo de error que el corregido en el commit 99bda1ecbd56 ("flow_dissector: evitar la truncación a u16 de skb->len al calcular thoff"). Dicha corrección no cubre la ruta BPF, porque __skb_flow_dissect() devuelve anticipadamente cuando un disector de flujo BPF gestiona el paquete.
struct bpf_flow_keys almacena nhoff y thoff como u16; por lo tanto, se debe limitar hlen a U16_MAX antes del ajuste (clamping).
Detectado por sashiko durante la revisión del commit anterior.
If you want to get best quality of vulnerability data, you may have to visit VulDB.