Saltar al contenido
CVE-2026-89783 Fuente: CVE.org Publicada · sin explotación confirmada

Vulnerabilidad de escritura fuera de límites en Linux kernel (xfrm6)

Linux · Linux · Publicada en CVE.org el 16-09-2026 · Última actualización: 09-11-2026

Descripción

En el kernel de Linux, se resolvió la siguiente vulnerabilidad: xfrm6: fix out-of-bounds write in xfrm6_input_addr() when secpath is full La verificación de profundidad en xfrm6_input_addr() tiene un error de desfase en uno: if (1 + sp->len == XFRM_MAX_DEPTH) goto drop; ... sp->xvec[sp->len++] = x; xfrm_input() puede dejar sp->len == XFRM_MAX_DEPTH, y la ruta de recepción en modo transporte vuelve a ingresar a la entrada IPv6 mediante xfrm_trans_reinject() conservando ese secpath. Si el paquete interno incluye una opción HAO de opciones de destino o un encabezado de enrutamiento tipo 2, se llama a xfrm6_input_addr() con sp->len == XFRM_MAX_DEPTH; la verificación (1 + 6 == 6) es falsa, por lo que sp->xvec[sp->len++] escribe una posición más allá del arreglo xvec[] de 6 elementos. La escritura permanece dentro de la asignación de sec_path (invisible para KASAN); UBSAN_BOUNDS la detecta y provoca un pánico con panic_on_warn. Se usa "sp->len >= XFRM_MAX_DEPTH", en concordancia con xfrm_input(). Esto también restablece un nivel de cadena que la verificación anterior rechazaba con sp->len == 5. UBSAN: array-index-out-of-bounds in net/ipv6/xfrm6_input.c:309:10 index 6 is out of range for type 'xfrm_state *[6]'

Qué hacer

Revisa si usas el producto afectado y en qué versión, y aplica la actualización o la mitigación que indique el aviso del fabricante. CISA no ha confirmado que se esté explotando; si eso cambia, esta ficha pasa a «explotada» y te avisamos en el boletín.

Versiones afectadas

  • Linux Afectadas: 9473e1f631de339c50bde1e3bd09e1045fe90fd5 y anteriores a 91fc387f63c00ddfb5221127a17bac97549a8343 · 9473e1f631de339c50bde1e3bd09e1045fe90fd5 y anteriores a 68e8737fe8e72f085c608cff322b3d2de8340af1 · 9473e1f631de339c50bde1e3bd09e1045fe90fd5 y anteriores a 8fe2c53fb81f5ad5be43af2ad09583f7c78b4b77 · 9473e1f631de339c50bde1e3bd09e1045fe90fd5 y anteriores a bdcda866c89f9a8b1acdabf02d26cde9fbe501d8 · 9473e1f631de339c50bde1e3bd09e1045fe90fd5 y anteriores a 48996649222e95008cdb98cd58579e3fc8e5ee06 · 9473e1f631de339c50bde1e3bd09e1045fe90fd5 y anteriores a 0f679e0523ddfff3fb554336ceb874b0e51e9cd3 · 9473e1f631de339c50bde1e3bd09e1045fe90fd5 y anteriores a 5f35a29a5eed3d80befd32050843ac88dea3d61a · 9473e1f631de339c50bde1e3bd09e1045fe90fd5 y anteriores a 5d9e3bf34fec9a5d237e4b7cef4a707bc2e091bc
  • Linux Afectadas: 2.6.25 No afectadas: 5.10.270 · 5.15.221 · 6.1.188 · 6.6.157 · 6.12.110 · 6.18.52

Según el registro de la vulnerabilidad en CVE.org, tal como lo publicó el fabricante. Confirma tu versión exacta en el aviso del fabricante.

Referencias

Ver el texto original en inglés (CVE.org)

xfrm6: fix out-of-bounds write in xfrm6_input_addr() when secpath is full

In the Linux kernel, the following vulnerability has been resolved: xfrm6: fix out-of-bounds write in xfrm6_input_addr() when secpath is full The depth check in xfrm6_input_addr() is off by one: if (1 + sp->len == XFRM_MAX_DEPTH) goto drop; ... sp->xvec[sp->len++] = x; xfrm_input() can leave sp->len == XFRM_MAX_DEPTH, and the transport-mode receive path re-enters IPv6 input via xfrm_trans_reinject() with that secpath preserved. If the inner packet carries a destination-options HAO option or a type-2 routing header, xfrm6_input_addr() is called with sp->len == XFRM_MAX_DEPTH; the check (1 + 6 == 6) is false, so sp->xvec[sp->len++] writes one slot past the 6-element xvec[]. The write stays within the sec_path allocation (invisible to KASAN); UBSAN_BOUNDS flags it and panics under panic_on_warn. Use "sp->len >= XFRM_MAX_DEPTH", matching xfrm_input(). This also restores one chain level the old check rejected at sp->len == 5. UBSAN: array-index-out-of-bounds in net/ipv6/xfrm6_input.c:309:10 index 6 is out of range for type 'xfrm_state *[6]'

Recibe el boletín cuando CISA agregue vulnerabilidades nuevas

Te escribimos solo cuando CISA agrega vulnerabilidades nuevas, ya traducidas: cada día que haya, o en un resumen los lunes. Confirmas por correo y te das de baja con un clic.

Frecuencia