CVE-2026-43037 in Linux
Resumen
por VulDB • 2026-05-14
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
ip6_tunnel: limpiar skb2->cb[] en ip4ip6_err()
Oskar Kjos informó el siguiente problema.
ip4ip6_err() llama a icmp_send() en un skb clonado cuyo cb[] fue escrito por la ruta de recepción IPv6 como struct inet6_skb_parm. icmp_send() pasa IPCB(skb2) a __ip_options_echo(), que interpreta esa región cb[] como struct inet_skb_parm (IPv4). Los diseños difieren: inet6_skb_parm.nhoff en el desplazamiento 14 se superpone con inet_skb_parm.opt.rr, produciendo un valor rr distinto de cero. __ip_options_echo() luego lee optlen desde datos de paquete controlados por el atacante en sptr[rr+1] y copia esa cantidad de bytes en dopt->__data, un búfer de pila fijo de 40 bytes (IP_OPTIONS_DATA_FIXED_SIZE).
Para corregir esto, se limpia skb2->cb[], como sugirió Oskar Kjos.
Además, se añade una validación mínima del encabezado IPv4 (versión == 4, ihl >= 5).
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.