Vulnerabilidad en kernel de Linux (CVE-2025-38192)
Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
04/07/2025
Última modificación:
04/07/2025
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: net: borrar el dst al cambiar el protocolo skb Un programa BPF NAT46 no tan cuidadoso puede hacer que el kernel se bloquee si cambia indiscriminadamente los paquetes de entrada de v4 a v6: ERROR: kernel NULL pointer dereference, address: 0000000000000000 ip6_rcv_core (net/ipv6/ip6_input.c:190:20) ipv6_rcv (net/ipv6/ip6_input.c:306:8) process_backlog (net/core/dev.c:6186:4) napi_poll (net/core/dev.c:6906:9) net_rx_action (net/core/dev.c:7028:13) do_softirq (kernel/softirq.c:462:3) netif_rx (net/core/dev.c:5326:3) dev_loopback_xmit (net/core/dev.c:4015:2) ip_mc_finish_output (net/ipv4/ip_output.c:363:8) NF_HOOK (./include/linux/netfilter.h:314:9) ip_mc_output (net/ipv4/ip_output.c:400:5) dst_output (./include/net/dst.h:459:9) ip_local_out (net/ipv4/ip_output.c:130:9) ip_send_skb (net/ipv4/ip_output.c:1496:8) udp_send_skb (net/ipv4/udp.c:1040:8) udp_sendmsg (net/ipv4/udp.c:1328:10) La interfaz de salida tiene un programa 4->6 conectado en la entrada. Intentamos devolver el skb de multidifusión al socket de envío. El BPF de entrada se ejecuta como parte de netif_rx(), envía un hdr v6 válido y cambia el protocolo skb a v6. Introducimos ip6_rcv_core, que intenta usar skb_dst(). Sin embargo, el dst sigue siendo IPv4 tras la salida de mcast IPv4. Borre el dst en todos los ayudantes de BPF que cambien el protocolo. Intente conservar los dst de metadatos, ya que pueden contener metadatos no relacionados con el enrutamiento.