CVE-2026-43503: un bit olvidado en el kernel Linux abre la puerta a escrituras no autorizadas en la caché de páginas

El problema en detalle

El subsistema de red del kernel Linux gestiona los datos de red mediante estructuras llamadas socket buffers (skb). Para optimizar el rendimiento, algunos fragmentos de datos (frags) pueden apuntar directamente a páginas del sistema de archivos o a páginas de propiedad externa, situación que se señaliza internamente con el bit SKBFL_SHARED_FRAG dentro de skb_shinfo()->flags. Este marcador es fundamental: le indica a cualquier componente que vaya a modificar esos datos en el sitio que primero debe realizar una copia privada, evitando así corromper páginas compartidas.

El fallo identificado como CVE-2026-43503 surge porque al menos seis helpers de transferencia de fragmentos omiten copiar ese bit al destino cuando mueven descriptores de fragmento de un skb a otro:

  • __pskb_copy_fclone(): copia los descriptores de fragmento y luego delega el resto de los metadatos a skb_copy_header(), pero este último nunca toca skb_shinfo()->flags.
  • skb_shift(): mueve descriptores de fragmento directamente y deja las flags sin actualizar.
  • skb_gro_receive() y skb_gro_receive_list(): acumulan fragmentos entrantes en un skb agregado sin trasladar el marcador al acumulador.
  • tcp_clone_payload(): construye un skb de sonda MTU moviendo fragmentos desde la cola de escritura sin propagar el bit.
  • skb_segment(): al reasignar fragmentos procedentes de miembros de frag_list, no fusiona el marcador del frag_skb nuevo en el segmento resultante.

El efecto común a todos ellos es que el skb de destino mantiene referencias a páginas compartidas o respaldadas por la caché del sistema de archivos, pero skb_has_shared_frag() devuelve false, engañando a los consumidores posteriores.

Vector de explotación concreto

El caso más directo de explotación documentado combina el módulo de procesamiento IPsec ESP en entrada (esp4.c / esp6.c) con funcionalidad de duplicación de paquetes de Netfilter (nf_dup_ipv4() o xt_TEE). Una regla sencilla de nft del tipo dup to <dirección local> provoca que un skb generado mediante pskb_copy() llegue a esp_input() sin el marcador SKBFL_SHARED_FRAG. Al no detectar que las páginas son compartidas, el código ESP omite la llamada a skb_cow_data() —que crearía una copia privada— y escribe directamente sobre la caché de páginas.

El resultado: un usuario local sin privilegios puede modificar el contenido de archivos de solo lectura propiedad de root a través de escrituras desviadas por el mecanismo de autenticación ESN de authencesn. La puntuación CVSS 8.8 (Alta) refleja la combinación de integridad y confidencialidad comprometidas con un alcance que trasciende el proceso atacante (S:C).

Corrección aplicada

La solución consiste en propagar SKBFL_SHARED_FRAG al skb de destino siempre que se muevan descriptores de fragmento reales desde la fuente. Los helpers skb_copy() y skb_copy_expand() quedan excluidos del cambio porque linealizan todos los datos paginados en almacenamiento de cabecera recién asignado, dejando nr_frags == 0 y haciendo que skb_has_shared_frag() retorne false por sí mismo. Los parches están disponibles en el árbol estable del kernel de Linux.

Recomendaciones

  1. Actualizar el kernel a la versión parcheada en cuanto esté disponible en la distribución utilizada. Consultar los commits de referencia en el árbol estable de kernel.org.
  2. Verificar si el entorno expone reglas de Netfilter con dup / TEE o usa túneles IPsec ESP; ambos factores elevan el riesgo.
  3. Aplicar controles de acceso estrictos para limitar la capacidad de usuarios locales de cargar módulos o insertar reglas de firewall.
  4. Monitorizar cambios inesperados en ficheros de solo lectura mediante auditoría del sistema de archivos.

¿Estás cubierto en DefensOps?

DefensOps detecta actividad anómala asociada a esta vulnerabilidad a través de su motor de correlación genérico, disponible desde el plan Essential. Aunque CVE-2026-43503 no tiene técnicas MITRE ATT&CK asignadas en este momento, el motor de correlación puede identificar patrones de comportamiento sospechoso en el subsistema de red del kernel, accesos inusuales a páginas protegidas y modificaciones no autorizadas en ficheros de solo lectura.

¿Quieres saber cómo DefensOps protege tu infraestructura Linux contra vulnerabilidades de kernel de alta gravedad?

👉 Consulta nuestros planes y solicita una demo


Fuente primaria: The Hacker News — CVE-2026-43503 | Parches: kernel.org stable