Vulnerabilidad en kernel de Linux (CVE-2024-56751)
Gravedad CVSS v3.1:
MEDIA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
29/12/2024
Última modificación:
02/05/2025
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ipv6: liberar el siguiente salto al eliminar el dispositivo. La CI está experimentando un bloqueo aperiódico en el momento de eliminar el dispositivo en la prueba automática pmtu.sh: unregister_netdevice: esperando a que veth_A-R1 se libere. Recuento de uso = 6 ref_tracker: veth_A-R1@ffff888013df15d8 tiene 1/5 usuarios en dst_init+0x84/0x4a0 dst_alloc+0x97/0x150 ip6_dst_alloc+0x23/0x90 ip6_rt_pcpu_alloc+0x1e6/0x520 ip6_pol_route+0x56f/0x840 fib6_rule_lookup+0x334/0x630 ip6_route_output_flags+0x259/0x480 ip6_dst_lookup_tail.constprop.0+0x5c2/0x940 ip6_dst_lookup_flow+0x88/0x190 udp_tunnel6_dst_lookup+0x2a7/0x4c0 vxlan_xmit_one+0xbde/0x4a50 [vxlan] vxlan_xmit+0x9ad/0xf20 [vxlan] dev_hard_start_xmit+0x10e/0x360 __dev_queue_xmit+0xf95/0x18c0 arp_solicit+0x4a2/0xe00 neigh_probe+0xaa/0xf0 Si bien el primer sospechoso es dst_cache, el seguimiento explícito del dst que debe la última referencia del dispositivo a través de sondas demostró que dicho dst se mantiene en el siguiente salto en el fib6_info de origen. Similar a el commit f5b51fe804ec ("ipv6: route: purge exception on removal"), necesitamos liberar explícitamente la información fib original al desconectar un dispositivo que se va a eliminar de un dst ipv6 activo: mueva la desinfección fib6_info a ip6_dst_ifdown(). Probado ejecutando: ./pmtu.sh cleanup_ipv6_exception en un bucle cerrado durante más de 400 iteraciones sin splat, ejecutando un kernel sin parchear Observé un splat cada ~10 iteraciones.
Impacto
Puntuación base 3.x
5.50
Gravedad 3.x
MEDIA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.3 (incluyendo) | 6.1.120 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (incluyendo) | 6.6.64 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (incluyendo) | 6.11.11 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.12 (incluyendo) | 6.12.2 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://git.kernel.org/stable/c/0e4c6faaef8a24b762a24ffb767280e263ef8e10
- https://git.kernel.org/stable/c/43e25adc80269f917d2a195f0d59f74cdd182955
- https://git.kernel.org/stable/c/77aa9855a878fb43f547ddfbda3127a1e88ad31a
- https://git.kernel.org/stable/c/a3c3f8a4d025acc8c857246ec2b812c59102487a
- https://git.kernel.org/stable/c/b2f26a27ea3f72f75d18330f76f5d1007c791848
- https://git.kernel.org/stable/c/eb02688c5c45c3e7af7e71f036a7144f5639cbfe