<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Actualizaciones de seguridad on KnightLi Blog</title>
        <link>https://knightli.com/es/categories/security-updates/</link>
        <description>Recent content in Actualizaciones de seguridad on KnightLi Blog</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>es</language>
        <lastBuildDate>Thu, 21 May 2026 09:30:01 +0800</lastBuildDate><atom:link href="https://knightli.com/es/categories/security-updates/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>Llegó la era de la búsqueda de vulnerabilidades con AI: por qué Copy Fail, Dirty Frag, Fragnesia y ssh-keysign-pwn explotaron juntos</title>
        <link>https://knightli.com/es/2026/05/21/linux-vulnerability-surge-ai-security-impact/</link>
        <pubDate>Thu, 21 May 2026 09:30:01 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/21/linux-vulnerability-surge-ai-security-impact/</guid>
        <description>&lt;p&gt;En las últimas semanas aparecieron varias vulnerabilidades relacionadas con el kernel Linux: Copy Fail, Dirty Frag, Fragnesia y ssh-keysign-pwn entraron una tras otra en la conversación de seguridad. Algunas permiten elevación local de privilegios, otras pueden filtrar archivos muy sensibles y otras afectan hosts de contenedores y entornos multi-tenant. La primera reacción de mucha gente es: ¿por qué Linux se volvió tan inseguro de repente?&lt;/p&gt;
&lt;p&gt;La respuesta más precisa es: Linux no empeoró de repente. Problemas ocultos durante mucho tiempo están siendo descubiertos más rápido y de forma más sistemática.&lt;/p&gt;
&lt;p&gt;Lo realmente importante en esta ola no son solo los parches para varios CVE, sino el cambio en la forma de descubrir vulnerabilidades. Antes, unos pocos investigadores de primer nivel podían tardar mucho en conectar bugs lógicos entre subsistemas. Ahora, la auditoría asistida por AI, el análisis estático automatizado, el fuzzing y las plataformas de investigación de seguridad amplifican ese trabajo. Las vulnerabilidades no aparecieron de la noche a la mañana, pero la velocidad de descubrimiento, reproducción y difusión aumentó.&lt;/p&gt;
&lt;h2 id=&#34;qué-tienen-en-común-estas-vulnerabilidades&#34;&gt;Qué tienen en común estas vulnerabilidades
&lt;/h2&gt;&lt;p&gt;Primero, pongamos los incidentes recientes en una tabla.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Vulnerabilidad&lt;/th&gt;
          &lt;th&gt;Impacto principal&lt;/th&gt;
          &lt;th&gt;Rasgos clave&lt;/th&gt;
          &lt;th&gt;Riesgo principal&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Copy Fail / CVE-2026-31431&lt;/td&gt;
          &lt;td&gt;Elevación local de privilegios&lt;/td&gt;
          &lt;td&gt;Ruta relacionada con Linux crypto / AF_ALG e issue de escritura en page cache&lt;/td&gt;
          &lt;td&gt;De usuario normal a root; especialmente sensible en contenedores&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Dirty Frag / CVE-2026-43284, CVE-2026-43500&lt;/td&gt;
          &lt;td&gt;Elevación local de privilegios&lt;/td&gt;
          &lt;td&gt;Primitiva de escritura en page cache en rutas XFRM/ESP, RxRPC y similares&lt;/td&gt;
          &lt;td&gt;Explotación encadenable; afecta límites entre host y contenedor&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Fragnesia / CVE-2026-46300&lt;/td&gt;
          &lt;td&gt;Elevación local de privilegios&lt;/td&gt;
          &lt;td&gt;Problema lógico en el subsistema XFRM ESP-in-TCP&lt;/td&gt;
          &lt;td&gt;Superficie de ataque cercana a Dirty Frag&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;ssh-keysign-pwn / CVE-2026-46333&lt;/td&gt;
          &lt;td&gt;Filtración local de información sensible y riesgo de elevación&lt;/td&gt;
          &lt;td&gt;Falla lógica en &lt;code&gt;__ptrace_may_access()&lt;/code&gt; del kernel Linux&lt;/td&gt;
          &lt;td&gt;Riesgo para claves SSH del host, &lt;code&gt;/etc/shadow&lt;/code&gt; y otros archivos sensibles&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;No son la misma vulnerabilidad, pero comparten varios patrones:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;No son RCE remotas tradicionales, sino elevación local de privilegios o filtración local de información sensible.&lt;/li&gt;
&lt;li&gt;Requieren que el atacante obtenga primero alguna capacidad de ejecución local, como una shell normal, ejecución dentro de un contenedor, permisos de tarea CI o una cuenta de bajo privilegio.&lt;/li&gt;
&lt;li&gt;La mayoría del riesgo está en fronteras del kernel: page cache, subsistemas de red/cripto, checks de permiso ptrace y kernels compartidos por contenedores.&lt;/li&gt;
&lt;li&gt;Los entornos cloud-native amplifican el impacto, porque los contenedores no son una frontera de seguridad fuerte y el kernel del host sigue siendo la base compartida.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Así que la pregunta no es solo &amp;ldquo;¿hay parche?&amp;rdquo;. La pregunta profunda es: ¿por qué problemas tan bajos, ocultos y latentes aparecieron concentrados en tan poco tiempo?&lt;/p&gt;
&lt;h2 id=&#34;primera-razón-muchas-vulnerabilidades-son-deuda-histórica-no-código-recién-escrito&#34;&gt;Primera razón: muchas vulnerabilidades son deuda histórica, no código recién escrito
&lt;/h2&gt;&lt;p&gt;Cuando la gente ve la fecha de divulgación, suele pensar que el bug fue introducido en una versión reciente. Muchas veces no es así.&lt;/p&gt;
&lt;p&gt;El punto clave de problemas como Copy Fail es que una vulnerabilidad puede permanecer dormida durante años, hasta que alguien conecta la ruta de llamadas, el límite de permisos y la semántica de memoria correctos. La información pública indica que Copy Fail está relacionada con optimizaciones del kernel alrededor de 2017. Dirty Frag y Fragnesia también apuntan a rutas profundas donde se cruzan red, cripto y page cache.&lt;/p&gt;
&lt;p&gt;Lo peligroso de estos bugs no es que una línea de código parezca obviamente mala, sino que varias condiciones se superponen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Un subsistema procesa datos in-place por rendimiento.&lt;/li&gt;
&lt;li&gt;Una interfaz permite a usuarios sin privilegios alcanzar funciones del kernel.&lt;/li&gt;
&lt;li&gt;Una ruta conecta páginas de archivo de solo lectura, page cache, fragmentos de red y buffers criptográficos.&lt;/li&gt;
&lt;li&gt;Una restricción implícita no está en tipos, asserts ni documentación.&lt;/li&gt;
&lt;li&gt;El resultado es una ruta donde un usuario normal puede afectar estado del kernel que no debería tocar.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto no es lo que mejor detecta una revisión normal de código. Un revisor puede entender el subsistema crypto, otro la red y otro la gestión de memoria, pero el bug vive justo en la intersección.&lt;/p&gt;
&lt;h2 id=&#34;segunda-razón-la-complejidad-del-kernel-linux-supera-el-límite-de-revisión-humana&#34;&gt;Segunda razón: la complejidad del kernel Linux supera el límite de revisión humana
&lt;/h2&gt;&lt;p&gt;La fortaleza de Linux es ser abierto, general, con amplio soporte de hardware y un ecosistema enorme. Pero esas ventajas también tienen coste.&lt;/p&gt;
&lt;p&gt;El kernel Linux moderno no es un &amp;ldquo;kernel pequeño&amp;rdquo;. Incluye planificación, memoria, sistemas de archivos, pila de red, frameworks criptográficos, drivers, virtualización, mecanismos de contenedores, eBPF, LSM, módulos de seguridad y adaptación a plataformas de hardware. Cada subsistema tiene historia, mantenedores, objetivos de rendimiento y cargas de compatibilidad.&lt;/p&gt;
&lt;p&gt;El problema es que las vulnerabilidades no suelen vivir dentro de un solo módulo, sino en los cruces:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;splice()&lt;/code&gt; conecta páginas de archivo y pipes.&lt;/li&gt;
&lt;li&gt;AF_ALG conecta espacio de usuario con la API crypto del kernel.&lt;/li&gt;
&lt;li&gt;XFRM/ESP conecta paquetes de red, cripto y páginas de memoria.&lt;/li&gt;
&lt;li&gt;RxRPC y ESP-in-TCP hacen la pila de red más compleja.&lt;/li&gt;
&lt;li&gt;Los contenedores vuelven más común la ejecución local de bajo privilegio.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Desde ingeniería, el kernel Linux ya no tiene un tamaño que &amp;ldquo;muchos ojos&amp;rdquo; puedan revisar por completo de forma fiable. El open source facilita corregir y revisar, pero no significa que cada rincón reciba revisión de seguridad continua. Pocas personas entienden vulnerabilidades entre subsistemas, y justo esas suelen tener gran impacto.&lt;/p&gt;
&lt;h2 id=&#34;tercera-razón-las-optimizaciones-de-rendimiento-adelgazan-las-fronteras-de-seguridad&#34;&gt;Tercera razón: las optimizaciones de rendimiento adelgazan las fronteras de seguridad
&lt;/h2&gt;&lt;p&gt;En esta ola aparece un tema repetido: reducir copias, reutilizar buffers y procesar datos in-place por rendimiento.&lt;/p&gt;
&lt;p&gt;Estas optimizaciones son razonables. El kernel es infraestructura. Una pequeña pérdida de rendimiento afecta proveedores cloud, bases de datos, red, almacenamiento y plataformas de contenedores. Una copia menos, cifrado/descifrado más rápido o una asignación menos de memoria pueden importar en producción.&lt;/p&gt;
&lt;p&gt;Pero el coste de seguridad también es claro. Cuando los límites entre datos de solo lectura, páginas compartidas, entrada controlada por usuario, buffers del kernel y salida criptográfica se adelgazan, una mala interpretación del contrato de entrada/salida por un subsistema puede generar escrituras o lecturas no autorizadas.&lt;/p&gt;
&lt;p&gt;Es decir, la optimización de rendimiento no es incorrecta, pero crea combinaciones más frágiles:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;El cifrado/descifrado in-place reduce copias, pero depende más del aislamiento correcto de buffers de entrada y salida.&lt;/li&gt;
&lt;li&gt;Page cache mejora el acceso a archivos, pero también puede convertirse en superficie de ataque.&lt;/li&gt;
&lt;li&gt;Zero-copy aumenta throughput, pero hace que distintos subsistemas compartan los mismos objetos de memoria.&lt;/li&gt;
&lt;li&gt;Los contenedores mejoran despliegue, pero un kernel compartido aumenta el radio de explosión de una LPE local.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Las fronteras de seguridad no pueden mantenerse solo con &amp;ldquo;todos recuerdan no equivocarse&amp;rdquo;. Deben imponerse mediante tipos, checks de permisos, restricciones de inmutabilidad, pruebas, fuzzing y auditoría continua. Si no, cuantas más optimizaciones e hipótesis implícitas se acumulen, más probable es que aparezcan vulnerabilidades.&lt;/p&gt;
&lt;h2 id=&#34;cuarta-razón-los-contenedores-aumentan-el-valor-de-las-vulnerabilidades-locales&#34;&gt;Cuarta razón: los contenedores aumentan el valor de las vulnerabilidades locales
&lt;/h2&gt;&lt;p&gt;Antes, &amp;ldquo;elevación local de privilegios&amp;rdquo; parecía menos urgente que una vulnerabilidad remota, porque el atacante ya necesitaba acceso local. La era cloud-native cambió esa evaluación.&lt;/p&gt;
&lt;p&gt;Hoy la ejecución local puede venir de muchas fuentes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Una aplicación web termina dando una shell normal.&lt;/li&gt;
&lt;li&gt;Un job CI/CD ejecuta código no confiable.&lt;/li&gt;
&lt;li&gt;Un contenedor corre tareas subidas por usuarios.&lt;/li&gt;
&lt;li&gt;Una plataforma multi-tenant permite notebooks, plugins, scripts o builds.&lt;/li&gt;
&lt;li&gt;Entornos de ejecución de código AI, sandboxes y jueces online son cada vez más comunes.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Cuando un atacante tiene ejecución dentro de un contenedor, una LPE del kernel ya no es un &amp;ldquo;problema local pequeño&amp;rdquo;. Los contenedores comparten el kernel del host, así que una vulnerabilidad del kernel puede cruzar la frontera del contenedor y afectar al host y otros tenants.&lt;/p&gt;
&lt;p&gt;Por eso Copy Fail y Dirty Frag atraen tanta atención de equipos cloud, de seguridad y de contenedores. Pueden convertir &amp;ldquo;ejecución local de bajo privilegio&amp;rdquo; en &amp;ldquo;riesgo a nivel de host&amp;rdquo;.&lt;/p&gt;
&lt;h2 id=&#34;el-impacto-de-ai-bajó-el-coste-de-descubrir-vulnerabilidades&#34;&gt;El impacto de AI: bajó el coste de descubrir vulnerabilidades
&lt;/h2&gt;&lt;p&gt;La parte más propia de esta época es la búsqueda de vulnerabilidades asistida por AI.&lt;/p&gt;
&lt;p&gt;La información pública de Copy Fail menciona que Xint Code de Theori participó en el proceso de descubrimiento. Más allá de las capacidades exactas de la herramienta, esto marca una tendencia: AI no necesariamente inventa vulnerabilidades de la nada, pero ayuda mucho a los investigadores a acortar rutas de búsqueda.&lt;/p&gt;
&lt;p&gt;AI afecta la investigación de vulnerabilidades de varias formas:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Leer código desconocido más rápido&lt;br&gt;
Los subsistemas del kernel son grandes. Los investigadores no pueden leer manualmente todas las rutas. AI ayuda a resumir funciones, cadenas de llamadas, relaciones de entrada/salida y patrones sospechosos.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Encontrar conexiones entre módulos más fácilmente&lt;br&gt;
Muchas vulnerabilidades se esconden en cadenas como &amp;ldquo;entrada de usuario -&amp;gt; pila de red -&amp;gt; framework crypto -&amp;gt; páginas de memoria -&amp;gt; caché de archivos&amp;rdquo;. AI ayuda a ordenar estas rutas entre archivos, directorios y subsistemas.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Generar hipótesis de auditoría con más facilidad&lt;br&gt;
Preguntas como &amp;ldquo;qué rutas escriben datos controlados por usuario en page cache&amp;rdquo;, &amp;ldquo;qué APIs permiten a usuarios sin privilegios tocar subsistemas crypto&amp;rdquo; o &amp;ldquo;qué funciones asumen que buffers de entrada y salida nunca se solapan&amp;rdquo; pueden enumerarse de forma más sistemática.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Convertir hallazgos en ejemplos reproducibles&lt;br&gt;
AI no sustituye el criterio de investigadores de kernel, pero puede ayudar a escribir código de validación, organizar ideas de PoC, explicar rutas defectuosas y generar tests.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;El resultado es que baja el coste unitario de descubrir vulnerabilidades.&lt;/p&gt;
&lt;p&gt;Antes, una vulnerabilidad de kernel de alta calidad podía requerir mucho tiempo de investigadores de élite. Ahora, alguien que entiende sistemas y usa herramientas AI puede filtrar rutas sospechosas más rápido. El techo de oferta de vulnerabilidades sube, y las divulgaciones concentradas se vuelven más probables.&lt;/p&gt;
&lt;h2 id=&#34;pero-ai-no-es-la-única-razón&#34;&gt;Pero AI no es la única razón
&lt;/h2&gt;&lt;p&gt;También hay que evitar el extremo contrario: culpar de todo a AI.&lt;/p&gt;
&lt;p&gt;AI es un acelerador, no la causa raíz. Las causas reales siguen siendo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Acumulación de código histórico.&lt;/li&gt;
&lt;li&gt;Contratos implícitos de optimizaciones de rendimiento que nunca se impusieron.&lt;/li&gt;
&lt;li&gt;Complejidad excesiva entre subsistemas.&lt;/li&gt;
&lt;li&gt;Demasiadas funciones del kernel expuestas por defecto.&lt;/li&gt;
&lt;li&gt;Pruebas de seguridad que no cubren todas las combinaciones.&lt;/li&gt;
&lt;li&gt;Contenedores, multi-tenancy y entornos de ejecución automatizada que aumentan el valor de bugs locales.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Sin estas condiciones, ni siquiera una AI potente encontraría tantos bugs de alto impacto. Al revés: mientras existan, cuanto más madura sea AI, más fácil será descubrir vulnerabilidades de forma sistemática.&lt;/p&gt;
&lt;h2 id=&#34;qué-significa-para-los-defensores&#34;&gt;Qué significa para los defensores
&lt;/h2&gt;&lt;p&gt;Para equipos de operaciones, seguridad y plataforma, esta ola deja varias lecciones directas.&lt;/p&gt;
&lt;p&gt;Primero, no trates la elevación local de privilegios como baja prioridad.&lt;br&gt;
Si tu entorno tiene contenedores, CI, ejecución online, plugins, notebooks o cargas multi-tenant, una LPE local puede convertirse en riesgo de host.&lt;/p&gt;
&lt;p&gt;Segundo, el ritmo de parcheo del kernel debe acelerarse.&lt;br&gt;
Hosts críticos, nodos Kubernetes, CI Runner, sandboxes de AI y hosts de virtualización no deberían quedarse mucho tiempo en kernels viejos. Actualizaciones, ventanas de reinicio, live patch y rollback gradual necesitan procesos claros.&lt;/p&gt;
&lt;p&gt;Tercero, reduce superficie de ataque del kernel innecesaria.&lt;br&gt;
Protocolos, módulos, user namespaces, sockets especiales e interfaces de debug que no hagan falta deben cerrarse según necesidad de negocio. Activado por defecto no significa expuesto por defecto.&lt;/p&gt;
&lt;p&gt;Cuarto, la seguridad de contenedores debe asumir que el kernel puede romperse.&lt;br&gt;
Usar non-root, capabilities mínimas, seccomp, AppArmor/SELinux, sistemas de archivos de solo lectura y montajes sensibles aislados sigue siendo importante. No detienen todos los bugs del kernel, pero reducen condiciones previas y daño posterior.&lt;/p&gt;
&lt;p&gt;Quinto, el monitoreo debe mirar cadenas de elevación.&lt;br&gt;
No basta mirar entradas remotas. También hay que vigilar procesos anómalos, lectura de archivos sensibles, carga de módulos kernel, señales de escape de contenedor, anomalías en CI Runner y accesos a archivos valiosos como &lt;code&gt;/etc/shadow&lt;/code&gt; y claves SSH del host.&lt;/p&gt;
&lt;h2 id=&#34;qué-significa-para-las-comunidades-open-source&#34;&gt;Qué significa para las comunidades open source
&lt;/h2&gt;&lt;p&gt;Para Linux y grandes proyectos open source, la búsqueda de vulnerabilidades con AI trae doble presión.&lt;/p&gt;
&lt;p&gt;Por un lado, AI ayuda a defensores a encontrar problemas antiguos más rápido. Más vulnerabilidades latentes corregidas públicamente es bueno a largo plazo.&lt;/p&gt;
&lt;p&gt;Por otro lado, AI también crea ruido. Reportes automáticos de baja calidad, falsos positivos, duplicados y afirmaciones de &amp;ldquo;AI encontró un bug&amp;rdquo; sin contexto consumen tiempo de mantenedores. El reto no es &amp;ldquo;usar o no AI&amp;rdquo;, sino cómo integrar su salida en procesos responsables de seguridad:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Los reportes deben tener reproducción mínima.&lt;/li&gt;
&lt;li&gt;Deben explicar alcance e hipótesis de amenaza.&lt;/li&gt;
&lt;li&gt;Deben distinguir problema teórico, bug activable y vulnerabilidad explotable.&lt;/li&gt;
&lt;li&gt;Deben respetar embargo, coordinación con distribuciones y ventanas de corrección.&lt;/li&gt;
&lt;li&gt;Los mantenedores necesitan mejores tests automatizados, fuzzing, análisis estático y validación de regresión.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;AI acelera el descubrimiento de vulnerabilidades, y eso exige mecanismos de corrección y coordinación más maduros. Si no, la productividad de investigación se convierte en presión para mantenedores y pánico para usuarios.&lt;/p&gt;
&lt;h2 id=&#34;conclusión-no-es-el-fin-del-mito-es-una-nueva-realidad-de-seguridad&#34;&gt;Conclusión: no es el fin del mito, es una nueva realidad de seguridad
&lt;/h2&gt;&lt;p&gt;Linux sigue siendo una de las bases de sistemas operativos más transparentes, controlables, corregibles y endurecibles. El problema no es que Linux se haya vuelto inseguro de repente, sino que la complejidad del kernel moderno, el uso cloud-native y la búsqueda asistida por AI están cambiando la velocidad de exposición de vulnerabilidades.&lt;/p&gt;
&lt;p&gt;Es probable que aparezcan eventos parecidos. No porque cada vez haya un nuevo desastre, sino porque rutas complejas acumuladas durante años se están buscando de forma más eficiente.&lt;/p&gt;
&lt;p&gt;Lo que debe cambiar son nuestras hipótesis de seguridad:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;No tratar &amp;ldquo;no hay vulnerabilidades divulgadas&amp;rdquo; como &amp;ldquo;no hay vulnerabilidades&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;No tratar la elevación local de privilegios como bajo riesgo.&lt;/li&gt;
&lt;li&gt;No tratar el aislamiento de contenedores como frontera fuerte.&lt;/li&gt;
&lt;li&gt;No confiar solo en revisión manual para software de sistema con decenas de millones de líneas.&lt;/li&gt;
&lt;li&gt;No esperar solo parches; reducir superficie, acelerar parcheo y construir defensa en profundidad.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;AI llevó la búsqueda de vulnerabilidades a una era de mayor producción. Para atacantes y defensores. La diferencia es si los defensores pueden convertir esa capacidad en auditoría más rápida, correcciones más tempranas y gobernanza de infraestructura más estable.&lt;/p&gt;
&lt;h2 id=&#34;referencias&#34;&gt;Referencias
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.zhihu.com/question/28339369/answer/2039681587684586658&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Discusión en Zhihu: ola de vulnerabilidades del kernel Linux&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/theori-io/copy-fail-CVE-2026-31431&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Theori: Copy Fail / CVE-2026-31431&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://ubuntu.com/blog/copy-fail-vulnerability-fixes-available&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Ubuntu: Copy Fail vulnerability fixes available&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.microsoft.com/en-us/security/blog/2026/05/01/cve-2026-31431-copy-fail-vulnerability-enables-linux-root-privilege-escalation/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Microsoft Security Blog: CVE-2026-31431 Copy Fail vulnerability&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.qualys.com/misc/2026/05/20/cve-2026-46333-local-root-privilege-escalation-and-credential-disclosure-in-the-linux-kernel-ptrace-path&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Qualys: CVE-2026-46333 Linux kernel ptrace path advisory&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://ubuntu.com/blog/ssh-keysign-pwn-linux-vulnerability-fixes-available&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Ubuntu: CVE-2026-46333 mitigations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.helpnetsecurity.com/2026/05/08/dirty-frag-linux-vulnerability-cve-2026-43284-cve-2026-43500/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Help Net Security: Dirty Frag Linux vulnerability&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.techradar.com/pro/security/another-major-linux-security-issue-uncovered-new-fragnesia-flaw-allows-attackers-to-run-malicious-code-as-root&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;TechRadar: reporte de Fragnesia CVE-2026-46300&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Impacto de cuatro problemas locales recientes en Linux: Copy Fail, Dirty Frag, Fragnesia y ssh-keysign-pwn</title>
        <link>https://knightli.com/es/2026/05/20/linux-lpe-four-vulnerabilities-impact-summary/</link>
        <pubDate>Wed, 20 May 2026 23:00:37 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/20/linux-lpe-four-vulnerabilities-impact-summary/</guid>
        <description>&lt;p&gt;En las últimas semanas aparecieron varios problemas locales de seguridad de alto perfil en el ecosistema Linux. Por separado, afectan zonas distintas: interfaces criptográficas, rutas de red e IPsec, manejo de page cache y comprobaciones de acceso ptrace. En conjunto, apuntan a la misma lección operativa: si un atacante ya tiene un punto de ejecución local con pocos privilegios, el riesgo para hosts Linux, nodos de contenedores, máquinas de CI y servidores multiusuario aumenta de forma clara.&lt;/p&gt;
&lt;p&gt;Este artículo no repite todos los detalles técnicos de cada vulnerabilidad. Resume su impacto práctico y enlaza cuatro análisis separados dentro del sitio.&lt;/p&gt;
&lt;h2 id=&#34;qué-afecta-cada-uno-de-los-cuatro-eventos&#34;&gt;Qué afecta cada uno de los cuatro eventos
&lt;/h2&gt;&lt;p&gt;Los cuatro riesgos que conviene seguir son:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Copy Fail (CVE-2026-31431): un usuario local con pocos privilegios puede afectar la page cache mediante rutas relacionadas con criptografía del kernel y ampliar privilegios.&lt;/li&gt;
&lt;li&gt;Dirty Frag (relacionado con CVE-2026-43284 / CVE-2026-43500): el riesgo se concentra en xfrm/ESP, RxRPC y rutas de datos de red y kernel, con alto impacto en fases posteriores a una intrusión.&lt;/li&gt;
&lt;li&gt;Fragnesia (CVE-2026-46300): cercano a Dirty Frag, gira alrededor de XFRM ESP-in-TCP, fragmentos compartidos y riesgo de escritura en page cache.&lt;/li&gt;
&lt;li&gt;ssh-keysign-pwn (CVE-2026-46333): no es un bug de root shell directo, sino un riesgo local de divulgación de información que puede exponer claves privadas SSH del host, &lt;code&gt;/etc/shadow&lt;/code&gt; y otros archivos sensibles.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Los puntos de entrada son distintos y las mitigaciones también. Arreglar Copy Fail no cubre automáticamente Dirty Frag o Fragnesia. Desactivar algunos módulos de red tampoco elimina por sí solo el riesgo de divulgación de información de ssh-keysign-pwn.&lt;/p&gt;
&lt;h2 id=&#34;copy-fail-alta-prioridad-para-contenedores-y-nodos-ci&#34;&gt;Copy Fail: alta prioridad para contenedores y nodos CI
&lt;/h2&gt;&lt;p&gt;El impacto clave de Copy Fail no es que una aplicación se bloquee. Es que una capacidad de ejecución con pocos privilegios puede convertirse en permisos de root. Es especialmente sensible en estos entornos:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Nodos CI/CD que permiten subir o ejecutar código.&lt;/li&gt;
&lt;li&gt;Hosts de contenedores que ejecutan cargas no confiables.&lt;/li&gt;
&lt;li&gt;Máquinas de desarrollo y prueba, jump hosts y servidores compartidos.&lt;/li&gt;
&lt;li&gt;Hosts cloud con kernels antiguos y ciclos de parcheo lentos.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;El peligro de Copy Fail está en su umbral de explotación relativamente bajo y en que se combina fácilmente con escenarios de contenedores. Muchos equipos tratan los contenedores como una frontera fuerte de aislamiento, pero los contenedores ordinarios siguen compartiendo el kernel del host por defecto. Si un atacante obtiene una shell dentro de un contenedor, una LPE del kernel puede convertir un problema del contenedor en un problema del host.&lt;/p&gt;
&lt;p&gt;Análisis detallado: &lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/01/copy-fail-cve-2026-31431-linux-kernel-container-escape/&#34; &gt;Copy Fail CVE-2026-31431: riesgo de escape de contenedor en una ruta de copia de archivos del kernel Linux&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;dirty-frag-un-amplificador-posterior-a-la-intrusión&#34;&gt;Dirty Frag: un amplificador posterior a la intrusión
&lt;/h2&gt;&lt;p&gt;Dirty Frag se parece más a una herramienta de ampliación de privilegios después de que el atacante ya entró al sistema. No es una vulnerabilidad remota sin autenticación típica. El requisito habitual es que el atacante ya tenga ejecución local mediante una contraseña débil, WebShell, cuenta de servicio con pocos privilegios, tarea de contenedor u otro punto de apoyo.&lt;/p&gt;
&lt;p&gt;Su impacto práctico aparece en varios lugares:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Una cuenta comprometida con pocos privilegios puede convertirse en root.&lt;/li&gt;
&lt;li&gt;Un punto de ejecución con pocos privilegios dentro de un contenedor puede amenazar al host.&lt;/li&gt;
&lt;li&gt;Los sistemas que usan IPsec, ESP, RxRPC o capacidades de red relacionadas del kernel necesitan revisar con cuidado parches y mitigaciones temporales.&lt;/li&gt;
&lt;li&gt;Los equipos de seguridad no deben mirar solo la defensa perimetral, sino también las cadenas de escalada posteriores a la intrusión.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Dirty Frag recuerda a los equipos de operaciones que una LPE local quizá no sea la primera entrada, pero puede decidir hasta dónde llega una intrusión. Si existe un punto de apoyo con pocos privilegios, el atacante buscará bugs del kernel para llegar al nivel más alto.&lt;/p&gt;
&lt;p&gt;Análisis detallado: &lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/09/dirty-frag-cve-2026-43284-linux-lpe-mitigation/&#34; &gt;Dirty Frag CVE-2026-43284: guía de riesgo y mitigación de escalada local en Linux&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;fragnesia-una-superficie-similar-no-se-limpia-de-una-sola-vez&#34;&gt;Fragnesia: una superficie similar no se limpia de una sola vez
&lt;/h2&gt;&lt;p&gt;Fragnesia importa porque muestra que la superficie alrededor de Dirty Frag no es un problema aislado. Incluso si un bug se corrige, rutas vecinas, estructuras de datos similares y combinaciones de módulos relacionados pueden conservar nuevos puntos explotables.&lt;/p&gt;
&lt;p&gt;Su impacto operativo principal es:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;No tratar solo el nombre de la vulnerabilidad una vez. Hay que seguir revisando por superficie de ataque.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;esp4&lt;/code&gt;, &lt;code&gt;esp6&lt;/code&gt;, &lt;code&gt;rxrpc&lt;/code&gt;, XFRM y ESP-in-TCP deben evaluarse según dependencias reales del negocio.&lt;/li&gt;
&lt;li&gt;Si el sistema no depende de esas capacidades de red, se puede considerar una desactivación temporal, pero primero debe probarse para no romper VPN, IPsec, túneles o redes internas.&lt;/li&gt;
&lt;li&gt;Los riesgos de contaminación de page cache pueden crear puntos ciegos: el archivo parece no cambiar, pero la ruta de ejecución queda afectada.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Para empresas, la lección principal es que la gestión de parches no debe mirar solo un CVE aislado. Es más seguro inventariar por subsistemas y superficies de ataque, identificar qué máquinas exponen esas capacidades y qué servicios realmente necesitan esos módulos.&lt;/p&gt;
&lt;p&gt;Análisis detallado: &lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/15/linux-kernel-fragnesia-local-privilege-escalation/&#34; &gt;Fragnesia (CVE-2026-46300): impacto y mitigación de una escalada local en el kernel Linux&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;ssh-keysign-pwn-no-da-root-directo-pero-sigue-siendo-peligroso&#34;&gt;ssh-keysign-pwn: no da root directo, pero sigue siendo peligroso
&lt;/h2&gt;&lt;p&gt;ssh-keysign-pwn es distinto de los tres anteriores. Se parece más a una divulgación local de información sensible que a una vulnerabilidad de root shell directo. Pero en ataques reales, la divulgación de información sensible puede convertirse rápidamente en un incidente mayor.&lt;/p&gt;
&lt;p&gt;Sus impactos principales incluyen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La filtración de SSH host private keys puede afectar la confianza en la identidad del host.&lt;/li&gt;
&lt;li&gt;El acceso a archivos como &lt;code&gt;/etc/shadow&lt;/code&gt; puede permitir cracking offline y toma de cuentas.&lt;/li&gt;
&lt;li&gt;Servidores multiusuario, jump hosts, máquinas de build y máquinas de desarrollo compartidas tienen mayor riesgo.&lt;/li&gt;
&lt;li&gt;Aunque el atacante no escale privilegios de inmediato, puede obtener material de credenciales útil para movimiento lateral.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Este tipo de problema se subestima fácilmente porque no luce tan dramático como una shell root directa. Sin embargo, en entornos empresariales, la exposición de claves y hashes de contraseñas suele implicar una limpieza más larga: rotar claves SSH del host, revisar relaciones de confianza, comprobar contraseñas de cuentas y auditar logs de acceso.&lt;/p&gt;
&lt;p&gt;Análisis detallado: &lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/17/ssh-keysign-pwn-cve-2026-46333/&#34; &gt;ssh-keysign-pwn (CVE-2026-46333): divulgación local en Linux, claves SSH del host y riesgo sobre /etc/shadow&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;impacto-común-los-contenedores-no-son-una-frontera-fuerte-por-defecto&#34;&gt;Impacto común: los contenedores no son una frontera fuerte por defecto
&lt;/h2&gt;&lt;p&gt;Juntos, estos cuatro eventos dejan claro un punto: el aislamiento ordinario de contenedores no es aislamiento de máquina virtual.&lt;/p&gt;
&lt;p&gt;Docker, containerd y Kubernetes usan namespaces, cgroups, capabilities, seccomp, AppArmor y SELinux para reducir superficie de ataque, pero normalmente siguen compartiendo el kernel del host. Si la vulnerabilidad está en el kernel compartido, un punto de ejecución con pocos privilegios dentro de un contenedor puede convertirse en entrada de ataque.&lt;/p&gt;
&lt;p&gt;Los entornos de alto riesgo deberían revisar:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Si se permite ejecutar código no confiable en hosts compartidos.&lt;/li&gt;
&lt;li&gt;Si los contenedores corren como root por defecto.&lt;/li&gt;
&lt;li&gt;Si se conceden capabilities innecesarias.&lt;/li&gt;
&lt;li&gt;Si las políticas seccomp son demasiado amplias.&lt;/li&gt;
&lt;li&gt;Si cargas multi-tenant deberían moverse a gVisor, Kata Containers, Firecracker microVM, máquinas virtuales dedicadas o nodos dedicados.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Las plataformas CI/CD merecen atención especial. Los jobs de build ejecutan de forma natural código externo, scripts de instalación de dependencias, scripts de prueba y binarios temporales. Si esos jobs comparten hosts con servicios de larga duración, una sola escalada local puede afectar infraestructura mucho mayor.&lt;/p&gt;
&lt;h2 id=&#34;impacto-común-los-parches-deben-llegar-al-kernel-en-ejecución&#34;&gt;Impacto común: los parches deben llegar al kernel en ejecución
&lt;/h2&gt;&lt;p&gt;Un error común al parchear kernels Linux es asumir que un paquete instalado significa que la máquina está ejecutando el kernel corregido.&lt;/p&gt;
&lt;p&gt;Como mínimo, operaciones debería verificar tres cosas:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;uname -a
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Confirmar el kernel actualmente en ejecución.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;dpkg -l &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep linux-image
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;O en distribuciones de la familia RHEL:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rpm -qa &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep kernel
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Confirmar los paquetes de kernel instalados.&lt;/p&gt;
&lt;p&gt;Finalmente, confirmar que la máquina reinició con el kernel corregido. Para servicios críticos que no pueden reiniciarse de inmediato, evaluar livepatch, hot patching o aislamiento temporal, pero no tratar la mitigación temporal como arreglo final.&lt;/p&gt;
&lt;h2 id=&#34;impacto-común-reducir-superficie-de-ataque-debe-ser-específico&#34;&gt;Impacto común: reducir superficie de ataque debe ser específico
&lt;/h2&gt;&lt;p&gt;Estas vulnerabilidades recuerdan que endurecer Linux no puede quedarse en &amp;ldquo;actualizar el sistema&amp;rdquo; y &amp;ldquo;activar firewall&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Revisiones más concretas incluyen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Si AF_ALG / &lt;code&gt;algif_aead&lt;/code&gt; se usa en cargas del negocio.&lt;/li&gt;
&lt;li&gt;Si XFRM, ESP, ESP-in-TCP e IPsec son necesarios para VPN, túneles o gateways de seguridad.&lt;/li&gt;
&lt;li&gt;Si RxRPC es necesario.&lt;/li&gt;
&lt;li&gt;Si user namespaces no privilegiados deben estar habilitados.&lt;/li&gt;
&lt;li&gt;Si los contenedores pueden crear tipos de socket demasiado amplios.&lt;/li&gt;
&lt;li&gt;Si las políticas de acceso ptrace son demasiado permisivas.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si el negocio no necesita ciertas capacidades, se puede evaluar desactivar módulos, ajustar sysctl, endurecer seccomp y reducir capabilities. No copies comandos a producción a ciegas. Primero inventaría dependencias y luego despliega gradualmente.&lt;/p&gt;
&lt;h2 id=&#34;orden-de-respuesta-recomendado&#34;&gt;Orden de respuesta recomendado
&lt;/h2&gt;&lt;p&gt;Primero, prioriza máquinas donde la ejecución local de código está expuesta:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Hosts de contenedores.&lt;/li&gt;
&lt;li&gt;CI/CD runners.&lt;/li&gt;
&lt;li&gt;Jump hosts.&lt;/li&gt;
&lt;li&gt;Servidores multiusuario.&lt;/li&gt;
&lt;li&gt;Hosts que ejecutan servicios expuestos.&lt;/li&gt;
&lt;li&gt;Sistemas que ejecutan plugins, scripts o extensiones no confiables.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Segundo, confirma avisos de la distribución y el kernel realmente en ejecución. No dependas solo del número de versión upstream. Debian, Ubuntu, RHEL, AlmaLinux, Rocky Linux, SUSE, openEuler y otras distribuciones pueden aplicar backports de seguridad.&lt;/p&gt;
&lt;p&gt;Tercero, endurece políticas de ejecución de contenedores. Prioriza usuarios no root, capabilities mínimas, &lt;code&gt;no-new-privileges&lt;/code&gt;, sistemas de archivos de solo lectura y políticas explícitas de seccomp más AppArmor o SELinux.&lt;/p&gt;
&lt;p&gt;Cuarto, revisa exposición de claves y credenciales. Especialmente en entornos afectados por ssh-keysign-pwn, evalúa si SSH host keys, &lt;code&gt;/etc/shadow&lt;/code&gt;, credenciales de jump hosts y CI secrets necesitan rotación.&lt;/p&gt;
&lt;p&gt;Quinto, mejora monitoreo. Observa root shells anómalas, PoCs locales sospechosas de LPE, cambios en archivos críticos, comportamiento ptrace anómalo, procesos de contenedor accediendo a rutas del host y conexiones de red inusuales desde nodos CI.&lt;/p&gt;
&lt;h2 id=&#34;conclusión&#34;&gt;Conclusión
&lt;/h2&gt;&lt;p&gt;El punto de estos cuatro eventos no es &amp;ldquo;Linux es inseguro&amp;rdquo;. El punto es que la confianza por defecto ya no alcanza.&lt;/p&gt;
&lt;p&gt;Linux sigue siendo transparente, reparable, configurable y endurecible. Pero en entornos donde contenedores, CI, multi-tenancy y ejecución de código impulsada por IA son cada vez más comunes, un punto de ejecución con pocos privilegios ya no puede tratarse como un problema menor. Si el kernel contiene bugs explotables de escalada local o divulgación de información sensible, una intrusión parcial puede convertirse en control del host, exposición de credenciales o movimiento lateral.&lt;/p&gt;
&lt;p&gt;El enfoque más realista es tomar estos cuatro eventos como recordatorio: parchear rápido, confirmar kernels reiniciados, habilitar módulos solo cuando sean necesarios, endurecer contenedores, hacer posible la rotación de claves y reevaluar niveles de aislamiento en cargas multi-tenant.&lt;/p&gt;
&lt;p&gt;Lecturas relacionadas en este sitio:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/01/copy-fail-cve-2026-31431-linux-kernel-container-escape/&#34; &gt;Copy Fail CVE-2026-31431: riesgo de escape de contenedor en una ruta de copia de archivos del kernel Linux&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/09/dirty-frag-cve-2026-43284-linux-lpe-mitigation/&#34; &gt;Dirty Frag CVE-2026-43284: guía de riesgo y mitigación de escalada local en Linux&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/15/linux-kernel-fragnesia-local-privilege-escalation/&#34; &gt;Fragnesia (CVE-2026-46300): impacto y mitigación de una escalada local en el kernel Linux&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/17/ssh-keysign-pwn-cve-2026-46333/&#34; &gt;ssh-keysign-pwn (CVE-2026-46333): divulgación local en Linux, claves SSH del host y riesgo sobre /etc/shadow&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>SSRF de alta gravedad en Next.js CVE-2026-44578: alcance e indicaciones de actualización</title>
        <link>https://knightli.com/es/2026/05/17/nextjs-cve-2026-44578-websocket-ssrf/</link>
        <pubDate>Sun, 17 May 2026 17:27:13 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/17/nextjs-cve-2026-44578-websocket-ssrf/</guid>
        <description>&lt;p&gt;Next.js divulgó en mayo de 2026 una vulnerabilidad SSRF de alta gravedad: CVE-2026-44578.&lt;/p&gt;
&lt;p&gt;Según el aviso de seguridad de GitHub / Vercel &lt;code&gt;GHSA-c4j6-fc7j-m34r&lt;/code&gt; y el registro de NVD, el problema afecta a aplicaciones Next.js autoalojadas que usan el servidor Node.js integrado y están expuestas a solicitudes WebSocket upgrade maliciosas. Un atacante podría hacer que el servidor proxifique solicitudes hacia destinos internos o externos arbitrarios, exponiendo servicios internos o endpoints de metadata en la nube.&lt;/p&gt;
&lt;p&gt;Los despliegues alojados en Vercel no están afectados. Las versiones corregidas son &lt;code&gt;15.5.16&lt;/code&gt; y &lt;code&gt;16.2.5&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;resumen-rápido&#34;&gt;Resumen rápido
&lt;/h2&gt;&lt;p&gt;Si ejecutas Next.js en tus propios servidores, contenedores, Kubernetes, ECS, VPS, bare metal o PaaS autogestionado, revisa esto primero.&lt;/p&gt;
&lt;p&gt;Rangos afectados:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;next &amp;gt;= 13.4.13 &amp;lt; 15.5.16&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;next &amp;gt;= 16.0.0 &amp;lt; 16.2.5&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Casos no afectados o de menor riesgo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Aplicaciones desplegadas en Vercel.&lt;/li&gt;
&lt;li&gt;Aplicaciones actualizadas a &lt;code&gt;15.5.16&lt;/code&gt;, &lt;code&gt;16.2.5&lt;/code&gt; o versiones posteriores.&lt;/li&gt;
&lt;li&gt;Escenarios donde no se expone el servidor Node.js integrado.&lt;/li&gt;
&lt;li&gt;Entornos donde el proxy inverso o balanceador ya bloquea WebSocket upgrades innecesarios y el tráfico saliente está restringido.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Orden recomendado de respuesta:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Confirmar la versión de &lt;code&gt;next&lt;/code&gt; que realmente corre en producción.&lt;/li&gt;
&lt;li&gt;Actualizar las aplicaciones autoalojadas a una versión corregida cuanto antes.&lt;/li&gt;
&lt;li&gt;Si no puedes actualizar de inmediato, bloquear WebSocket upgrades innecesarios en el proxy inverso o balanceador.&lt;/li&gt;
&lt;li&gt;Restringir el acceso de los servidores de aplicación a metadata cloud, paneles internos y servicios internos sensibles.&lt;/li&gt;
&lt;li&gt;Revisar solicitudes WebSocket upgrade recientes y logs de acceso interno.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;qué-es-la-vulnerabilidad&#34;&gt;Qué es la vulnerabilidad
&lt;/h2&gt;&lt;p&gt;CVE-2026-44578 es una vulnerabilidad Server-Side Request Forgery, o SSRF.&lt;/p&gt;
&lt;p&gt;El riesgo central de SSRF es que el atacante no accede directamente a sistemas internos, sino que induce a tu servidor a enviar solicitudes en su nombre. Los servidores suelen estar más cerca de redes privadas, plataformas cloud y servicios internos, por lo que si se convierten en proxy pueden alcanzar recursos que el atacante no podría tocar desde fuera.&lt;/p&gt;
&lt;p&gt;En este caso de Next.js, el problema está en la ruta de manejo de WebSocket upgrade. El aviso indica que aplicaciones autoalojadas que usan el servidor Node.js integrado pueden ser forzadas, mediante solicitudes WebSocket upgrade construidas especialmente, a proxificar solicitudes hacia destinos internos o externos arbitrarios.&lt;/p&gt;
&lt;p&gt;Los puntos de riesgo incluyen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Servicios HTTP internos.&lt;/li&gt;
&lt;li&gt;Paneles de administración.&lt;/li&gt;
&lt;li&gt;Direcciones de metadata cloud.&lt;/li&gt;
&lt;li&gt;Servicios internos de contenedores o clústeres.&lt;/li&gt;
&lt;li&gt;APIs internas accesibles solo desde el servidor.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La puntuación CVSS v3.1 es &lt;code&gt;8.6 High&lt;/code&gt;, con este vector:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Esto significa que el ataque es de red, de baja complejidad, no requiere privilegios ni interacción del usuario, y afecta principalmente a la confidencialidad.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-el-autoalojamiento-es-más-peligroso&#34;&gt;Por qué el autoalojamiento es más peligroso
&lt;/h2&gt;&lt;p&gt;El aviso afirma explícitamente que los despliegues alojados en Vercel no están afectados.&lt;/p&gt;
&lt;p&gt;El foco real son los despliegues autoalojados. La razón es simple: sus entornos de red varían mucho. Algunos exponen directamente el origin server; otros están detrás de Nginx, Traefik, Ingress, Cloudflare, ALB o gateways propios; otros corren en VMs cloud, redes de contenedores o clústeres Kubernetes.&lt;/p&gt;
&lt;p&gt;Si esos entornos no restringen el tráfico saliente, el proceso Next.js podría alcanzar:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Direcciones de metadata cloud como &lt;code&gt;169.254.169.254&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Rangos de IP privados.&lt;/li&gt;
&lt;li&gt;Servicios expuestos solo dentro de una VPC.&lt;/li&gt;
&lt;li&gt;Redis, Elasticsearch, Prometheus, Grafana y otros componentes internos.&lt;/li&gt;
&lt;li&gt;Kubernetes Services, Pods o endpoints de administración.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Por eso el peligro de SSRF no está solo en Next.js, sino en qué puede alcanzar desde la red donde vive.&lt;/p&gt;
&lt;h2 id=&#34;cómo-saber-si-estás-afectado&#34;&gt;Cómo saber si estás afectado
&lt;/h2&gt;&lt;p&gt;Primer paso: revisar la versión de &lt;code&gt;next&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;En el directorio del proyecto:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm ls next
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;O:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pnpm why next
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;También puedes inspeccionar:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cat package.json
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cat package-lock.json
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cat pnpm-lock.yaml
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cat yarn.lock
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si la versión cae dentro de estos rangos, hay que actuar:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;gt;= 13.4.13 &amp;lt; 15.5.16
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;gt;= 16.0.0 &amp;lt; 16.2.5
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Segundo paso: revisar el modelo de despliegue.&lt;/p&gt;
&lt;p&gt;Presta atención a:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Servicios de producción iniciados con &lt;code&gt;next start&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Servidores Node.js personalizados que alojan Next.js.&lt;/li&gt;
&lt;li&gt;Imágenes Docker que arrancan directamente un servidor Next.js.&lt;/li&gt;
&lt;li&gt;Autoalojamiento en Kubernetes / ECS / VPS / bare metal.&lt;/li&gt;
&lt;li&gt;Un origin de Next.js todavía accesible detrás de un proxy inverso.&lt;/li&gt;
&lt;li&gt;Redes de aplicación que pueden acceder a servicios internos o metadata cloud.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si la aplicación está desplegada en Vercel, el aviso oficial indica que no está afectada por esta vulnerabilidad. Aun así, conviene mantener Next.js actualizado, porque versiones cercanas pueden incluir otros parches de seguridad.&lt;/p&gt;
&lt;h2 id=&#34;a-qué-versión-actualizar&#34;&gt;A qué versión actualizar
&lt;/h2&gt;&lt;p&gt;Las versiones corregidas oficiales son:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;15.5.16&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;16.2.5&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ejemplo de actualización:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm install next@15.5.16
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;O si usas 16.x:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm install next@16.2.5
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;pnpm:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pnpm add next@15.5.16
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;O:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pnpm add next@16.2.5
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Después, reconstruye y publica:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm run build
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm run start
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;O sigue tu flujo CI/CD para reconstruir y publicar la imagen Docker.&lt;/p&gt;
&lt;p&gt;Si tu proyecto está fijado en 14.x o 15.x, no conviene saltar apresuradamente a 16.x solo por este parche. Es más seguro actualizar primero a la línea &lt;code&gt;15.5.16&lt;/code&gt;, probar y publicar, y luego planificar una migración de versión mayor.&lt;/p&gt;
&lt;h2 id=&#34;mitigaciones-temporales&#34;&gt;Mitigaciones temporales
&lt;/h2&gt;&lt;p&gt;Si no puedes actualizar de inmediato, la idea principal del aviso es: no exponer el origin server directamente a redes no confiables; si WebSocket upgrade no es necesario, bloquearlo en el proxy inverso o balanceador; y restringir en lo posible el tráfico saliente del origin.&lt;/p&gt;
&lt;p&gt;Medidas posibles:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;No exponer directamente el origin server de Next.js.&lt;/li&gt;
&lt;li&gt;Filtrar WebSocket upgrades innecesarios en Nginx, Ingress, ALB, Cloudflare u otros puntos de entrada.&lt;/li&gt;
&lt;li&gt;Si el negocio no usa WebSocket, rechazar solicitudes con semántica de upgrade.&lt;/li&gt;
&lt;li&gt;Aplicar restricciones de egress para impedir acceso a metadata cloud y rangos internos sensibles.&lt;/li&gt;
&lt;li&gt;Usar modos de metadata más seguros ofrecidos por la nube, por ejemplo servicios de metadata que requieren token.&lt;/li&gt;
&lt;li&gt;Añadir autenticación y aislamiento de red a paneles administrativos, bases de datos, cachés y sistemas de monitoreo.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Las reglas de proxy inverso son mitigaciones temporales, no sustituyen la actualización. Una vulnerabilidad del framework debe resolverse finalmente con una versión corregida.&lt;/p&gt;
&lt;h2 id=&#34;revisión-operativa&#34;&gt;Revisión operativa
&lt;/h2&gt;&lt;p&gt;Como este problema afecta sobre todo a la confidencialidad, la pregunta clave es si el servidor fue usado para alcanzar recursos internos.&lt;/p&gt;
&lt;p&gt;Revisa:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Logs web con &lt;code&gt;Upgrade&lt;/code&gt;, &lt;code&gt;Connection&lt;/code&gt;, &lt;code&gt;Host&lt;/code&gt;, rutas o IPs de origen anómalas.&lt;/li&gt;
&lt;li&gt;Logs del proxy inverso o balanceador con WebSocket upgrades inusuales.&lt;/li&gt;
&lt;li&gt;Conexiones salientes anómalas cerca del servicio Next.js.&lt;/li&gt;
&lt;li&gt;Logs de acceso a metadata cloud o uso de credenciales.&lt;/li&gt;
&lt;li&gt;Accesos anómalos a servicios internos de administración, monitoreo, caché o búsqueda.&lt;/li&gt;
&lt;li&gt;Uso inusual de credenciales temporales IAM, access keys o tokens.&lt;/li&gt;
&lt;li&gt;Procesos, descargas o movimientos laterales sospechosos en contenedores o hosts.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si sospechas explotación:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Conserva logs y evidencia.&lt;/li&gt;
&lt;li&gt;Rota credenciales cloud, API keys, contraseñas de bases de datos y session secrets que pudieran haberse expuesto.&lt;/li&gt;
&lt;li&gt;Revisa llamadas API recientes en la cuenta cloud.&lt;/li&gt;
&lt;li&gt;Comprueba registros de acceso a servicios internos.&lt;/li&gt;
&lt;li&gt;Reconstruye contenedores o hosts afectados.&lt;/li&gt;
&lt;li&gt;Revisa controles de egress y protección de metadata.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;no-es-lo-mismo-que-el-rce-de-reactnextjs&#34;&gt;No es lo mismo que el RCE de React/Next.js
&lt;/h2&gt;&lt;p&gt;Un punto fácil de confundir: CVE-2026-44578 es un SSRF en WebSocket upgrade de Next.js, no el RCE previo relacionado con React Server Components.&lt;/p&gt;
&lt;p&gt;Su impacto central es hacer que el servidor solicite direcciones internas o externas elegidas por el atacante. El riesgo principal es exposición de información y exploración de recursos internos.&lt;/p&gt;
&lt;p&gt;Los problemas RCE de React Server Components son riesgos de ejecución de código, con consecuencias y rangos de parche distintos.&lt;/p&gt;
&lt;p&gt;Por eso no basta con leer &amp;ldquo;Next.js tiene una vulnerabilidad&amp;rdquo;. Hay que mapear el CVE concreto con versiones afectadas, modelo de despliegue y versiones corregidas.&lt;/p&gt;
&lt;h2 id=&#34;equipos-que-deben-priorizarlo&#34;&gt;Equipos que deben priorizarlo
&lt;/h2&gt;&lt;p&gt;Prioridad máxima:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sitios Next.js de producción autoalojados.&lt;/li&gt;
&lt;li&gt;Despliegues en VMs cloud, contenedores, Kubernetes o redes internas.&lt;/li&gt;
&lt;li&gt;Servidores de aplicación que pueden acceder a servicios de metadata cloud.&lt;/li&gt;
&lt;li&gt;Servidores de aplicación que alcanzan paneles internos, bases de datos, cachés o monitoreo.&lt;/li&gt;
&lt;li&gt;Origin servers &lt;code&gt;next start&lt;/code&gt; expuestos directamente.&lt;/li&gt;
&lt;li&gt;Versiones antiguas de &lt;code&gt;next&lt;/code&gt; sin proceso claro de actualización.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Prioridad relativamente menor:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Aplicaciones desplegadas completamente en Vercel.&lt;/li&gt;
&lt;li&gt;Aplicaciones ya actualizadas a versiones corregidas.&lt;/li&gt;
&lt;li&gt;Origins no expuestos directamente, con la capa de entrada bloqueando WebSocket upgrades innecesarios.&lt;/li&gt;
&lt;li&gt;Control estricto de salida que impide alcanzar recursos internos sensibles.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pero &amp;ldquo;menor prioridad&amp;rdquo; no significa que no haya que actualizar. Next.js es un componente muy expuesto, y mantener versiones antiguas del framework acumula riesgo.&lt;/p&gt;
&lt;h2 id=&#34;checklist-para-equipos-de-desarrollo&#34;&gt;Checklist para equipos de desarrollo
&lt;/h2&gt;&lt;p&gt;Puedes seguir esta lista:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Confirmar la versión de &lt;code&gt;next&lt;/code&gt; en todos los repositorios.&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Identificar todos los despliegues autoalojados, no solo los proyectos en Vercel.&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Marcar servicios que usan &lt;code&gt;next start&lt;/code&gt; o el servidor Node.js integrado.&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Actualizar a &lt;code&gt;15.5.16&lt;/code&gt;, &lt;code&gt;16.2.5&lt;/code&gt; o posterior.&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Reconstruir y publicar imágenes de producción.&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Bloquear WebSocket upgrades innecesarios en la capa de entrada.&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Restringir acceso de servidores de aplicación a metadata cloud y rangos internos sensibles.&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Revisar solicitudes upgrade anómalas recientes y acceso saliente.&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Rotar credenciales que pudieran haberse expuesto.&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Incluir actualizaciones de seguridad de Next.js en el proceso de actualización de dependencias.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;resumen&#34;&gt;Resumen
&lt;/h2&gt;&lt;p&gt;CVE-2026-44578 es una vulnerabilidad SSRF de alta gravedad en Next.js que merece atención rápida.&lt;/p&gt;
&lt;p&gt;No afecta a despliegues alojados en Vercel, pero sí cubre muchas aplicaciones Next.js autoalojadas: desde &lt;code&gt;13.4.13&lt;/code&gt; hasta antes de &lt;code&gt;15.5.16&lt;/code&gt;, y desde &lt;code&gt;16.0.0&lt;/code&gt; hasta antes de &lt;code&gt;16.2.5&lt;/code&gt;. El punto de activación está en el manejo de WebSocket upgrade. Un atacante puede hacer que el servidor proxifique solicitudes hacia direcciones internas o externas, exponiendo servicios internos o endpoints de metadata cloud.&lt;/p&gt;
&lt;p&gt;La corrección directa es actualizar a &lt;code&gt;15.5.16&lt;/code&gt; o &lt;code&gt;16.2.5&lt;/code&gt;. Las mitigaciones temporales son no exponer directamente el origin server, bloquear WebSocket upgrades innecesarios y restringir el tráfico saliente del servidor de aplicación.&lt;/p&gt;
&lt;p&gt;Para equipos de operaciones, lo importante no es solo la puntuación CVE, sino qué puede alcanzar tu servidor Next.js desde su posición en la red. En SSRF, el impacto real suele depender de los recursos internos y permisos cloud detrás del servidor.&lt;/p&gt;
&lt;p&gt;Referencias:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/vercel/next.js/security/advisories/GHSA-c4j6-fc7j-m34r&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GitHub Advisory: GHSA-c4j6-fc7j-m34r&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://nvd.nist.gov/vuln/detail/CVE-2026-44578&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NVD: CVE-2026-44578&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://security.snyk.io/vuln/SNYK-JS-NEXT-16638682&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Snyk: SNYK-JS-NEXT-16638682&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>ssh-keysign-pwn (CVE-2026-46333): filtración local de información en Linux, claves host SSH y riesgo para /etc/shadow</title>
        <link>https://knightli.com/es/2026/05/17/ssh-keysign-pwn-cve-2026-46333/</link>
        <pubDate>Sun, 17 May 2026 09:29:03 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/17/ssh-keysign-pwn-cve-2026-46333/</guid>
        <description>&lt;p&gt;&lt;code&gt;ssh-keysign-pwn&lt;/code&gt; se refiere a un conjunto de rutas de explotación alrededor de un fallo lógico en &lt;code&gt;__ptrace_may_access()&lt;/code&gt; del Linux kernel, asignado como &lt;code&gt;CVE-2026-46333&lt;/code&gt;. No es una vulnerabilidad remota sin autenticación y no entrega directamente una shell de root, pero el riesgo sigue siendo alto: un usuario local con pocos privilegios podría leer archivos sensibles de root que no debería poder acceder, como claves privadas de host SSH o &lt;code&gt;/etc/shadow&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Para equipos de operaciones, la prioridad no es reproducir un PoC. La prioridad es identificar máquinas afectadas, actualizar el kernel, reiniciar para entrar en el kernel corregido y rotar claves de host SSH o restablecer contraseñas cuando sea necesario.&lt;/p&gt;
&lt;h2 id=&#34;conclusión-rápida&#34;&gt;Conclusión rápida
&lt;/h2&gt;&lt;p&gt;Esta vulnerabilidad merece una prioridad alta por cuatro motivos:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La puede activar un usuario local de bajo privilegio, sin root.&lt;/li&gt;
&lt;li&gt;Ya existe PoC público, lo que reduce mucho la barrera de explotación.&lt;/li&gt;
&lt;li&gt;Los objetivos potenciales no son archivos comunes, sino claves privadas de host SSH y &lt;code&gt;/etc/shadow&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;La corrección requiere parche de kernel y reinicio; instalar paquetes sin reiniciar no basta.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si tus servidores tienen múltiples usuarios, shell local, hosting compartido, CI runners, hosts de contenedores, aulas, bastiones o cualquier usuario local que no sea completamente confiable, conviene tratarlo primero.&lt;/p&gt;
&lt;h2 id=&#34;qué-es-la-vulnerabilidad&#34;&gt;Qué es la vulnerabilidad
&lt;/h2&gt;&lt;p&gt;Qualys publicó detalles en oss-security el 15 de mayo de 2026. Antes había informado a &lt;code&gt;security@kernel.org&lt;/code&gt; de un problema lógico en &lt;code&gt;__ptrace_may_access()&lt;/code&gt; del Linux kernel, y la corrección upstream ya había sido integrada por Linus. Después apareció código de explotación público, por lo que Qualys compartió la información en oss-security.&lt;/p&gt;
&lt;p&gt;El equipo CVE del Linux kernel asignó luego &lt;code&gt;CVE-2026-46333&lt;/code&gt;. La página de NVD muestra kernel.org como fuente, y la descripción corresponde al commit del kernel &lt;code&gt;ptrace: slightly saner &#39;get_dumpable()&#39; logic&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;En términos simples, el fallo está en la ruta de salida de procesos. Cuando algunos procesos privilegiados están terminando, la lógica del kernel relacionada con las comprobaciones de acceso de &lt;code&gt;ptrace&lt;/code&gt; puede omitir una comprobación dumpable que debería aplicarse, porque la tarea objetivo ya no tiene &lt;code&gt;mm&lt;/code&gt;. Un atacante puede competir en una ventana muy estrecha y obtener descriptores de archivo que el proceso privilegiado en salida todavía mantiene abiertos.&lt;/p&gt;
&lt;p&gt;Por eso se lo llama &lt;code&gt;ssh-keysign-pwn&lt;/code&gt;: una de las rutas públicas de explotación gira alrededor de &lt;code&gt;ssh-keysign&lt;/code&gt; para leer SSH host private keys.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-puede-exponer-claves-host-ssh-y-etcshadow&#34;&gt;Por qué puede exponer claves host SSH y /etc/shadow
&lt;/h2&gt;&lt;p&gt;En esencia, es una filtración local de información. Abusa de una ventana durante la salida de un programa privilegiado en la que el descriptor de memoria ya se separó, pero los descriptores de archivo aún no se cerraron.&lt;/p&gt;
&lt;p&gt;El aviso de AlmaLinux explica el riesgo con claridad: si un programa privilegiado abrió archivos sensibles antes de bajar privilegios, y el atacante logra capturar el descriptor de archivo correspondiente durante la ventana de salida, esos archivos sensibles podrían leerse.&lt;/p&gt;
&lt;p&gt;Dos objetivos frecuentes en la discusión pública son:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ssh-keysign&lt;/code&gt;: puede involucrar claves privadas de host SSH como &lt;code&gt;/etc/ssh/ssh_host_*_key&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;chage&lt;/code&gt;: puede involucrar &lt;code&gt;/etc/shadow&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si se filtran claves privadas de host SSH, un atacante podría suplantar el host y debilitar la confianza en la identidad SSH del servidor. Si se filtra &lt;code&gt;/etc/shadow&lt;/code&gt;, un atacante puede crackear hashes de contraseña offline y ampliar el compromiso después.&lt;/p&gt;
&lt;p&gt;Por eso debe tratarse como un problema de alta prioridad aunque no sea una vulnerabilidad de &amp;ldquo;root shell directo&amp;rdquo;.&lt;/p&gt;
&lt;h2 id=&#34;cómo-evaluar-la-exposición&#34;&gt;Cómo evaluar la exposición
&lt;/h2&gt;&lt;p&gt;Desde la perspectiva upstream, es una vulnerabilidad del Linux kernel. Los registros de NVD muestran que el problema entró en el dataset de NVD el 15 de mayo de 2026, y en ese momento todavía no tenía puntuación CVSS.&lt;/p&gt;
&lt;p&gt;El estado por distribución debe verificarse en los avisos de cada proveedor:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;AlmaLinux 8, 9 y 10 publicaron orientación y el 16 de mayo de 2026 actualizaron el aviso para indicar que los patched kernels ya estaban en repositorios de producción.&lt;/li&gt;
&lt;li&gt;Debian Security Tracker lista estados vulnerable/fixed y versiones corregidas para bullseye, bookworm, trixie, sid y otras ramas.&lt;/li&gt;
&lt;li&gt;Para otras distribuciones, revisa las páginas oficiales de seguridad o repositorios de Ubuntu, Red Hat, SUSE, Arch, Alpine, etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;No evalúes la seguridad solo por la versión upstream del kernel. Las distribuciones hacen backport de correcciones, por lo que un mismo número de versión aparente puede representar estados de parche diferentes.&lt;/p&gt;
&lt;h2 id=&#34;qué-máquinas-priorizar&#34;&gt;Qué máquinas priorizar
&lt;/h2&gt;&lt;p&gt;Orden recomendado de prioridad:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Servidores multiusuario y hosts compartidos.&lt;/li&gt;
&lt;li&gt;Bastiones, máquinas de enseñanza, equipos de desarrollo y otros sistemas con cuentas shell normales.&lt;/li&gt;
&lt;li&gt;CI runners, máquinas de build y nodos de plataformas de hosting.&lt;/li&gt;
&lt;li&gt;Hosts de contenedores y virtualización, sobre todo donde conviven workloads no completamente confiables.&lt;/li&gt;
&lt;li&gt;Máquinas con servicios públicos. La vulnerabilidad requiere acceso local, pero el riesgo se combina si un bug web, RCE, contraseña débil u otro camino da al atacante un punto de apoyo de bajo privilegio.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Los escritorios de un solo usuario tienen un riesgo relativamente menor, pero aun así deberían actualizarse con el sistema. La ejecución local de código con bajo privilegio no es rara en escritorios, a través de navegadores, herramientas de desarrollo, scripts y software de terceros.&lt;/p&gt;
&lt;h2 id=&#34;recomendaciones-de-corrección&#34;&gt;Recomendaciones de corrección
&lt;/h2&gt;&lt;p&gt;La solución preferida es instalar el kernel corregido que entrega la distribución y reiniciar.&lt;/p&gt;
&lt;p&gt;Los comandos cambian por distribución, pero el principio es el mismo:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Actualizar metadatos de paquetes.&lt;/li&gt;
&lt;li&gt;Instalar el paquete kernel que contiene la corrección de &lt;code&gt;CVE-2026-46333&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Reiniciar en el kernel nuevo.&lt;/li&gt;
&lt;li&gt;Usar &lt;code&gt;uname -r&lt;/code&gt; y el aviso de seguridad de la distribución para verificar que el kernel en ejecución está corregido.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;El aviso de AlmaLinux indica que los kernels corregidos están disponibles en repositorios de producción y que los usuarios pueden ejecutar el &lt;code&gt;dnf upgrade&lt;/code&gt; habitual y reiniciar. Debian tracker también lista fixed versions para varias ramas.&lt;/p&gt;
&lt;p&gt;Importante: si solo instalas un paquete kernel nuevo pero no reinicias, el kernel antiguo vulnerable sigue ejecutándose.&lt;/p&gt;
&lt;h2 id=&#34;mitigación-temporal-endurecer-ptrace_scope&#34;&gt;Mitigación temporal: endurecer ptrace_scope
&lt;/h2&gt;&lt;p&gt;Si no puedes reiniciar de inmediato, endurece primero &lt;code&gt;ptrace_scope&lt;/code&gt; de Yama.&lt;/p&gt;
&lt;p&gt;Qualys confirmó en una respuesta posterior en oss-security que configurar &lt;code&gt;/proc/sys/kernel/yama/ptrace_scope&lt;/code&gt; en &lt;code&gt;2&lt;/code&gt; (admin-only attach) o &lt;code&gt;3&lt;/code&gt; (no attach) bloquea las rutas públicas de explotación que conocen. También aclararon que, en teoría, podrían existir otros métodos de explotación, por lo que esto es una mitigación, no una corrección.&lt;/p&gt;
&lt;p&gt;Configuración temporal:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo sysctl -w kernel.yama.ptrace_scope&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Configuración persistente:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;kernel.yama.ptrace_scope = 3&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sudo tee /etc/sysctl.d/99-ssh-keysign-pwn.conf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;ptrace_scope=3&lt;/code&gt; desactiva ptrace attach y puede afectar flujos de depuración como &lt;code&gt;gdb&lt;/code&gt; y &lt;code&gt;strace -p&lt;/code&gt;. Si necesitas depuración en producción, evalúa &lt;code&gt;2&lt;/code&gt;. En cualquier caso, agenda la actualización de kernel y el reinicio cuanto antes.&lt;/p&gt;
&lt;h2 id=&#34;hay-que-rotar-claves-host-ssh&#34;&gt;¿Hay que rotar claves host SSH?
&lt;/h2&gt;&lt;p&gt;Conviene adoptar una postura conservadora si la máquina tenía alguna de estas condiciones durante la ventana de exposición:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Usuarios locales no confiables.&lt;/li&gt;
&lt;li&gt;Hosting compartido o entornos multi-tenant de contenedores/CI.&lt;/li&gt;
&lt;li&gt;Vulnerabilidades web, contraseñas débiles, scripts de cadena de suministro u otros caminos que puedan dar un punto de apoyo local.&lt;/li&gt;
&lt;li&gt;Procesos locales sospechosos, comportamiento de depuración anómalo o archivos PoC públicos en logs.&lt;/li&gt;
&lt;li&gt;Exposición prolongada antes de aplicar la corrección.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Una respuesta conservadora incluye:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Rotar SSH host keys después de parchear y reiniciar.&lt;/li&gt;
&lt;li&gt;Actualizar sistemas de gestión de huellas de hosts conocidos.&lt;/li&gt;
&lt;li&gt;Notificar a automatizaciones que dependan de esa huella de host.&lt;/li&gt;
&lt;li&gt;Revisar alertas de conexión SSH para no confundir cambios legítimos de huella con ataques de intermediario, ni ignorar riesgos reales.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si sospechas que &lt;code&gt;/etc/shadow&lt;/code&gt; se filtró, evalúa también restablecimiento de contraseñas, prohibición de contraseñas débiles y revisión de hashes antiguos que puedan crackearse offline.&lt;/p&gt;
&lt;h2 id=&#34;qué-monitorear&#34;&gt;Qué monitorear
&lt;/h2&gt;&lt;p&gt;La ventana de explotación es breve, así que los logs tradicionales podrían no capturarlo todo. Aun así, revisa:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Archivos como &lt;code&gt;ssh-keysign-pwn&lt;/code&gt;, &lt;code&gt;chage_pwn&lt;/code&gt; o artefactos PoC similares en directorios de usuarios normales.&lt;/li&gt;
&lt;li&gt;Actividad de compilación sospechosa, como programas C desconocidos compilados en poco tiempo.&lt;/li&gt;
&lt;li&gt;Señales de acceso anómalo a &lt;code&gt;/etc/ssh/ssh_host_*_key&lt;/code&gt; o &lt;code&gt;/etc/shadow&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Actividad inusual de &lt;code&gt;pidfd_getfd&lt;/code&gt;, &lt;code&gt;ptrace&lt;/code&gt; o depuradores.&lt;/li&gt;
&lt;li&gt;Reportes externos de cambios inesperados en la huella del host SSH.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Estas señales no prueban que hubo explotación, y su ausencia tampoco prueba que no la hubo. Las prioridades reales siguen siendo parchear, reiniciar, rotar credenciales y aislar el riesgo.&lt;/p&gt;
&lt;h2 id=&#34;malentendidos-comunes&#34;&gt;Malentendidos comunes
&lt;/h2&gt;&lt;p&gt;Primero: no es una vulnerabilidad remota de OpenSSH. El nombre incluye &lt;code&gt;ssh-keysign&lt;/code&gt;, pero la causa raíz está en la lógica de comprobación de acceso &lt;code&gt;ptrace&lt;/code&gt; del Linux kernel, no en el flujo de autenticación remota de &lt;code&gt;sshd&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Segundo: no tener usuarios locales no elimina todo el riesgo. La vulnerabilidad sí requiere ejecución local, pero muchas cadenas reales obtienen primero un punto de apoyo local de bajo privilegio mediante servicios web, CI, scripts, contraseñas débiles o escapes de contenedor.&lt;/p&gt;
&lt;p&gt;Tercero: configurar &lt;code&gt;ptrace_scope&lt;/code&gt; no basta. Es una mitigación temporal, no una corrección raíz. La actualización del kernel y el reinicio siguen siendo necesarios.&lt;/p&gt;
&lt;p&gt;Cuarto: no haber obtenido root no significa que no haya incidente. La filtración de claves privadas de host SSH o &lt;code&gt;/etc/shadow&lt;/code&gt; puede bastar para movimiento lateral, suplantación de host y cracking offline.&lt;/p&gt;
&lt;h2 id=&#34;checklist-de-respuesta&#34;&gt;Checklist de respuesta
&lt;/h2&gt;&lt;p&gt;Orden recomendado:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Inventariar hosts Linux afectados, especialmente entornos multiusuario y compartidos.&lt;/li&gt;
&lt;li&gt;Revisar avisos oficiales de seguridad de la distribución e identificar la fixed kernel version.&lt;/li&gt;
&lt;li&gt;Instalar el kernel corregido y reiniciar.&lt;/li&gt;
&lt;li&gt;En máquinas que no puedan reiniciarse de inmediato, configurar &lt;code&gt;kernel.yama.ptrace_scope=2&lt;/code&gt; o &lt;code&gt;3&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Verificar la versión del kernel en ejecución después de la corrección.&lt;/li&gt;
&lt;li&gt;Rotar SSH host keys en máquinas de alto riesgo.&lt;/li&gt;
&lt;li&gt;Si se sospecha exposición de &lt;code&gt;/etc/shadow&lt;/code&gt;, evaluar restablecimiento de contraseñas y auditoría de cuentas.&lt;/li&gt;
&lt;li&gt;Buscar PoCs públicos, compilaciones anómalas y comportamiento local de depuración sospechoso.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;resumen&#34;&gt;Resumen
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;ssh-keysign-pwn&lt;/code&gt; (&lt;code&gt;CVE-2026-46333&lt;/code&gt;) es una vulnerabilidad local de filtración de información causada por lógica relacionada con &lt;code&gt;__ptrace_may_access()&lt;/code&gt; en el Linux kernel. No permite entrar remotamente de forma directa y no concede una shell de root directa, pero puede permitir que un usuario local de bajo privilegio lea archivos sensibles de alto valor. Eso la vuelve especialmente importante en entornos multiusuario, hosting compartido, CI y hosts de contenedores.&lt;/p&gt;
&lt;p&gt;La corrección fiable es actualizar al kernel corregido de la distribución y reiniciar. &lt;code&gt;ptrace_scope=2/3&lt;/code&gt; puede servir como mitigación temporal, pero no reemplaza el parche. En hosts críticos expuestos durante la ventana de riesgo, también conviene evaluar rotación de claves host SSH y riesgo de contraseñas.&lt;/p&gt;
&lt;p&gt;Referencias:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.openwall.com/lists/oss-security/2026/05/15/2&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;oss-security: divulgación de Qualys sobre el problema lógico en __ptrace_may_access()&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.openwall.com/lists/oss-security/2026/05/15/9&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;oss-security: Qualys confirma el identificador CVE-2026-46333&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.openwall.com/lists/oss-security/2026/05/15/8&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;oss-security: Qualys confirma la mitigación temporal con ptrace_scope&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://nvd.nist.gov/vuln/detail/CVE-2026-46333&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NVD: CVE-2026-46333&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://security-tracker.debian.org/tracker/CVE-2026-46333&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Debian Security Tracker: CVE-2026-46333&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://almalinux.org/he/blog/2026-05-15-ssh-keysign-pwn-cve-2026-46333/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;AlmaLinux: ssh-keysign-pwn (CVE-2026-46333) Patches Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/torvalds/linux/commit/31e62c2ebbfdc3fe3dbdf5e02c92a9dc67087a3a&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Linux upstream fix: ptrace get_dumpable() logic&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Cómo comprobar CVE-2026-42945: condiciones de Nginx Rift, revisión de versiones y recomendaciones de actualización</title>
        <link>https://knightli.com/es/2026/05/15/nginx-rift-cve-2026-42945/</link>
        <pubDate>Fri, 15 May 2026 17:55:42 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/15/nginx-rift-cve-2026-42945/</guid>
        <description>&lt;p&gt;&lt;code&gt;CVE-2026-42945&lt;/code&gt; es una vulnerabilidad de seguridad en NGINX Open Source y NGINX Plus. También se la conoce como &lt;code&gt;Nginx Rift&lt;/code&gt;. El problema está en &lt;code&gt;ngx_http_rewrite_module&lt;/code&gt;, y el tipo de vulnerabilidad es heap-based buffer overflow.&lt;/p&gt;
&lt;p&gt;Este tipo de noticia se convierte con facilidad en titulares como &amp;ldquo;oculta durante 18 años&amp;rdquo;, &amp;ldquo;control remoto sin contraseña&amp;rdquo; o &amp;ldquo;30% de servidores afectados&amp;rdquo;. Esas frases se propagan bien, pero al leer los parches y la descripción de NVD conviene separar el riesgo en hechos concretos: el problema es grave y no requiere una cuenta iniciada; pero no todos los Nginx quedan comprometidos automáticamente. Para activarlo hacen falta condiciones específicas de configuración rewrite y de solicitud.&lt;/p&gt;
&lt;h2 id=&#34;empezar-por-la-descripción-oficial&#34;&gt;Empezar por la descripción oficial
&lt;/h2&gt;&lt;p&gt;La descripción de NVD para &lt;code&gt;CVE-2026-42945&lt;/code&gt; puede resumirse así:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Afecta a NGINX Plus y NGINX Open Source.&lt;/li&gt;
&lt;li&gt;La vulnerabilidad está en &lt;code&gt;ngx_http_rewrite_module&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;El problema puede activarse cuando una directiva &lt;code&gt;rewrite&lt;/code&gt; va seguida de &lt;code&gt;rewrite&lt;/code&gt;, &lt;code&gt;if&lt;/code&gt; o &lt;code&gt;set&lt;/code&gt;, se usan grupos de captura PCRE sin nombre como &lt;code&gt;$1&lt;/code&gt; y &lt;code&gt;$2&lt;/code&gt;, y la cadena de reemplazo contiene un signo de interrogación &lt;code&gt;?&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Un atacante no autenticado puede enviar una solicitud construida para activar la vulnerabilidad.&lt;/li&gt;
&lt;li&gt;El resultado puede ser un heap buffer overflow y el reinicio de un proceso worker de NGINX.&lt;/li&gt;
&lt;li&gt;Si ASLR está desactivado en el sistema, la ejecución de código es posible.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;F5, como CNA, asigna estas puntuaciones:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CVSS v4.0: &lt;code&gt;9.2&lt;/code&gt;, Critical.&lt;/li&gt;
&lt;li&gt;CVSS v3.1: &lt;code&gt;8.1&lt;/code&gt;, High.&lt;/li&gt;
&lt;li&gt;CWE: &lt;code&gt;CWE-122 Heap-based Buffer Overflow&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Así que no se trata de un caso normal de &amp;ldquo;mala configuración que causa un 404&amp;rdquo;. Es una vulnerabilidad de seguridad de memoria cubierta por una corrección oficial de Nginx.&lt;/p&gt;
&lt;h2 id=&#34;qué-afirmaciones-necesitan-contexto&#34;&gt;Qué afirmaciones necesitan contexto
&lt;/h2&gt;&lt;p&gt;Primero, &amp;ldquo;sin contraseña&amp;rdquo; debe entenderse como ataque no autenticado. Es decir, el atacante no necesita entrar a un panel de administración de Nginx, obtener SSH ni tener una cuenta de la aplicación. Pero eso no significa que cualquier Nginx expuesto a internet pueda tomarse sin más.&lt;/p&gt;
&lt;p&gt;Segundo, &amp;ldquo;control remoto directo&amp;rdquo; depende de las condiciones. La formulación oficial más prudente es que la vulnerabilidad puede causar reinicios de procesos worker; en sistemas donde ASLR está desactivado, la ejecución de código es un resultado posible. En entornos con ASLR activado, endurecimiento de compilación de la distribución y permisos de ejecución restringidos, la ruta de riesgo es más compleja.&lt;/p&gt;
&lt;p&gt;Tercero, &amp;ldquo;30% de servidores afectados&amp;rdquo; no debe interpretarse como &amp;ldquo;toda la cuota de mercado de Nginx equivale a superficie expuesta&amp;rdquo;. La exposición real depende de la versión, de si el módulo afectado está presente, de si existe la configuración rewrite concreta, de si la distribución ya aplicó backport del parche y del estado de endurecimiento del entorno donde corre Nginx.&lt;/p&gt;
&lt;p&gt;La forma más precisa de decidirlo es sencilla: si ejecutas Nginx en producción, revísalo pronto; pero no decidas si estás afectado solo por el porcentaje de un titular.&lt;/p&gt;
&lt;h2 id=&#34;cómo-determinar-el-alcance-afectado&#34;&gt;Cómo determinar el alcance afectado
&lt;/h2&gt;&lt;p&gt;Según la información de publicación de nginx.org, las versiones &lt;code&gt;nginx-1.30.1&lt;/code&gt; stable y &lt;code&gt;nginx-1.31.0&lt;/code&gt; mainline publicadas el 13 de mayo de 2026 incluyen varias correcciones de seguridad, entre ellas el buffer overflow de &lt;code&gt;ngx_http_rewrite_module&lt;/code&gt; registrado como &lt;code&gt;CVE-2026-42945&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Si usas código fuente oficial de Nginx o paquetes oficiales, prioriza:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;NGINX Open Source stable: actualizar a &lt;code&gt;1.30.1&lt;/code&gt; o posterior.&lt;/li&gt;
&lt;li&gt;NGINX Open Source mainline: actualizar a &lt;code&gt;1.31.0&lt;/code&gt; o posterior.&lt;/li&gt;
&lt;li&gt;NGINX Plus: revisar la versión corregida para la rama correspondiente de F5.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si usas Debian, Ubuntu, RHEL, AlmaLinux, Rocky Linux, Alpine, imágenes de contenedor, Plesk, paneles de control, Ingress Controller o componentes administrados por un proveedor cloud, no mires solo la versión upstream que muestra &lt;code&gt;nginx -v&lt;/code&gt;. Muchas distribuciones aplican backport de parches de seguridad a versiones antiguas de paquetes. La cadena de versión puede parecer vieja aunque el parche ya esté incorporado.&lt;/p&gt;
&lt;h2 id=&#34;comprobación-de-urgencia-en-un-minuto&#34;&gt;Comprobación de urgencia en un minuto
&lt;/h2&gt;&lt;p&gt;Usa estas preguntas para clasificar el riesgo rápidamente:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;¿Este Nginx está expuesto directamente a internet, o forma parte de un API Gateway, proxy inverso, balanceador de carga o capa de entrada Ingress?&lt;/li&gt;
&lt;li&gt;¿Usas paquetes oficiales de Nginx, compilaciones desde código fuente, paneles de terceros o imágenes de contenedor sin haber confirmado el estado de corrección de &lt;code&gt;CVE-2026-42945&lt;/code&gt;?&lt;/li&gt;
&lt;li&gt;¿La configuración contiene reglas &lt;code&gt;rewrite&lt;/code&gt; complejas, especialmente &lt;code&gt;rewrite&lt;/code&gt;, &lt;code&gt;if&lt;/code&gt; o &lt;code&gt;set&lt;/code&gt; consecutivos y capturas sin nombre como &lt;code&gt;$1&lt;/code&gt; y &lt;code&gt;$2&lt;/code&gt;?&lt;/li&gt;
&lt;li&gt;¿Algún destino rewrite incluye rutas de solicitud, parámetros de consulta u otra entrada controlada por el usuario?&lt;/li&gt;
&lt;li&gt;¿El sistema está poco endurecido, por ejemplo con ASLR desactivado, workers con demasiados privilegios o permisos de contenedor demasiado amplios?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Si se cumplen los dos primeros puntos y todavía no se revisó la configuración rewrite, trátalo como alta prioridad. Los puntos de entrada públicos, entornos compartidos, Kubernetes Ingress, proxies de borde y Nginx que transportan tráfico de login o API deben actualizarse o sustituirse primero por paquetes con corrección confirmada.&lt;/p&gt;
&lt;h2 id=&#34;cómo-confirmar-la-corrección-en-debian--ubuntu--rhel--alpine&#34;&gt;Cómo confirmar la corrección en Debian / Ubuntu / RHEL / Alpine
&lt;/h2&gt;&lt;p&gt;Los usuarios de distribuciones no deben mirar solo &lt;code&gt;nginx -v&lt;/code&gt;. Debian, Ubuntu, RHEL, AlmaLinux, Rocky Linux y Alpine suelen aplicar backport de parches de seguridad a ramas estables, así que la versión visible puede seguir siendo inferior a &lt;code&gt;1.30.1&lt;/code&gt; o &lt;code&gt;1.31.0&lt;/code&gt; de nginx.org.&lt;/p&gt;
&lt;p&gt;En Debian / Ubuntu, revisa advisories de seguridad, changelog del paquete y candidatos de actualización:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nginx -v
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nginx -V
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apt list --upgradable &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep nginx
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apt changelog nginx &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep -i &lt;span class=&#34;s2&#34;&gt;&amp;#34;CVE-2026-42945&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;En RHEL / AlmaLinux / Rocky Linux, revisa actualizaciones de seguridad y changelog del paquete:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;yum updateinfo list security &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep -i nginx
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rpm -q --changelog nginx &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep -i &lt;span class=&#34;s2&#34;&gt;&amp;#34;CVE-2026-42945&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;En Alpine, revisa la versión instalada y las actualizaciones de la rama de seguridad:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apk info -v nginx
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apk version -v nginx
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si el gestor de paquetes, el advisory de la distribución o el advisory del proveedor dice explícitamente que &lt;code&gt;CVE-2026-42945&lt;/code&gt; está corregido, puedes tratarlo como backport aplicado aunque el número de versión upstream parezca antiguo. A la inversa, si la versión parece alta pero el origen no está claro, confirma igualmente la fecha de compilación y el origen del parche.&lt;/p&gt;
&lt;h2 id=&#34;cómo-comprobar-imágenes-de-contenedor-e-ingress-controller&#34;&gt;Cómo comprobar imágenes de contenedor e Ingress Controller
&lt;/h2&gt;&lt;p&gt;En entornos de contenedores, revisa el Nginx dentro de la imagen, no solo el host. Primero confirma la versión realmente incluida:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker run --rm your-nginx-image nginx -v
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker run --rm your-nginx-image nginx -V
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;También revisa si la imagen base fue actualizada. Si la imagen se construye sobre Debian, Ubuntu, Alpine o paquetes de distribución, el criterio vuelve a ser el advisory y el changelog de esa distribución. Reiniciar una imagen vieja no sirve; la imagen en sí debe reconstruirse o reemplazarse.&lt;/p&gt;
&lt;p&gt;En Kubernetes Ingress, confirma tres cosas:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Si el proyecto Ingress Controller publicó un advisory o una versión corregida para &lt;code&gt;CVE-2026-42945&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Si el digest de la imagen del controller que corre en el clúster realmente cambió, no solo el tag.&lt;/li&gt;
&lt;li&gt;Si la versión de Nginx integrada, los parámetros de compilación y la configuración de plantillas del controller siguen conteniendo reglas rewrite de alto riesgo.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Puedes empezar revisando la imagen en ejecución:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kubectl -n ingress-nginx get pods -o wide
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kubectl -n ingress-nginx describe pod &amp;lt;pod-name&amp;gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep -i image
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si usas un Ingress o gateway administrado por un proveedor cloud, revisa también el advisory del servicio correspondiente. Los componentes administrados normalmente no se corrigen con un &lt;code&gt;apt upgrade&lt;/code&gt; ejecutado por el usuario; necesitas la corrección del proveedor o cambiar a una versión ya corregida.&lt;/p&gt;
&lt;h2 id=&#34;qué-patrones-rewrite-merecen-atención&#34;&gt;Qué patrones rewrite merecen atención
&lt;/h2&gt;&lt;p&gt;Esta vulnerabilidad está relacionada con la configuración &lt;code&gt;rewrite&lt;/code&gt;. Empieza buscando en la configuración de Nginx:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;grep -R &lt;span class=&#34;s2&#34;&gt;&amp;#34;rewrite&amp;#34;&lt;/span&gt; /etc/nginx -n
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;grep -R &lt;span class=&#34;s2&#34;&gt;&amp;#34;\\&lt;/span&gt;$&lt;span class=&#34;s2&#34;&gt;[0-9]&amp;#34;&lt;/span&gt; /etc/nginx -n
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Presta atención a patrones como este:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-nginx&#34; data-lang=&#34;nginx&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;rewrite&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;^/old/(.*)&lt;/span&gt;$ &lt;span class=&#34;s&#34;&gt;/new/&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$1?&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;permanent&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Las capturas sin nombre como &lt;code&gt;$1&lt;/code&gt; y &lt;code&gt;$2&lt;/code&gt;, junto con el &lt;code&gt;?&lt;/code&gt; en el destino de reemplazo, forman parte de las condiciones clave descritas por las fuentes oficiales. Durante la revisión, presta especial atención a:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Un &lt;code&gt;rewrite&lt;/code&gt; seguido de otro &lt;code&gt;rewrite&lt;/code&gt;, &lt;code&gt;if&lt;/code&gt; o &lt;code&gt;set&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Capturas amplias como &lt;code&gt;(.*)&lt;/code&gt; o &lt;code&gt;(.+)&lt;/code&gt; reutilizadas como &lt;code&gt;$1&lt;/code&gt; o &lt;code&gt;$2&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Destinos rewrite que contienen &lt;code&gt;?&lt;/code&gt; para añadir o descartar parámetros de consulta.&lt;/li&gt;
&lt;li&gt;Entradas rewrite que provienen de rutas públicas, Host, URI, parámetros o valores controlados por upstream.&lt;/li&gt;
&lt;li&gt;Reglas rewrite generadas por paneles, gateways, anotaciones de Ingress o plantillas.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si no puedes actualizar de inmediato, aplica mitigaciones temporales:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Reducir reglas rewrite complejas.&lt;/li&gt;
&lt;li&gt;Sustituir capturas sin nombre por capturas con nombre más claras.&lt;/li&gt;
&lt;li&gt;Evitar concatenar &lt;code&gt;?&lt;/code&gt; innecesarios en cadenas de reemplazo.&lt;/li&gt;
&lt;li&gt;Añadir reglas WAF o de proxy inverso para entradas de alto riesgo.&lt;/li&gt;
&lt;li&gt;Confirmar que ASLR está activado.&lt;/li&gt;
&lt;li&gt;Reducir privilegios de los workers de Nginx y verificar systemd sandbox, SELinux/AppArmor y otros endurecimientos.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Estas medidas son mitigaciones, no sustituyen al parche.&lt;/p&gt;
&lt;h2 id=&#34;prioridad-de-remediación&#34;&gt;Prioridad de remediación
&lt;/h2&gt;&lt;p&gt;Prioriza por superficie expuesta:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Puntos de entrada Nginx expuestos a internet.&lt;/li&gt;
&lt;li&gt;Proxies inversos, API Gateway y gateways de borde.&lt;/li&gt;
&lt;li&gt;Nginx en entornos multiinquilino.&lt;/li&gt;
&lt;li&gt;Kubernetes Ingress Controller.&lt;/li&gt;
&lt;li&gt;Plesk, paneles de control, imágenes de marketplace cloud y otros componentes que incluyen Nginx.&lt;/li&gt;
&lt;li&gt;Nginx internos que transportan tráfico crítico de negocio.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;cómo-verificar-después-de-actualizar-nginx--t-reload-y-estado-de-workers&#34;&gt;Cómo verificar después de actualizar: nginx -t, reload y estado de workers
&lt;/h2&gt;&lt;p&gt;Después de actualizar, no te quedes solo con el mensaje de éxito del gestor de paquetes. Confirma que la configuración, los procesos y el binario real ya cambiaron. Primero valida la configuración:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nginx -t
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si no hay errores, recarga de forma suave:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl reload nginx
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si la actualización del paquete sustituyó el binario, confirma que los workers antiguos salieron:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ps aux &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep nginx
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;También puedes revisar la hora de inicio del proceso master y la ruta del binario para asegurarte de que el servicio en ejecución no sea un proceso antiguo que sigue residente. Si hace falta, programa una ventana de mantenimiento y reinicia el servicio para evitar que workers o contenedores antiguos sigan procesando solicitudes.&lt;/p&gt;
&lt;p&gt;En contenedores e Ingress, confirma también que el rollout de la nueva imagen se completó de verdad:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kubectl -n ingress-nginx rollout status deployment/&amp;lt;deployment-name&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kubectl -n ingress-nginx get pods -o wide
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;La verificación clave no es &amp;ldquo;el comando se ejecutó&amp;rdquo;, sino &amp;ldquo;el tráfico en producción ya lo atienden procesos Nginx que incluyen la corrección&amp;rdquo;.&lt;/p&gt;
&lt;h2 id=&#34;no-ignores-el-mismo-lote-de-correcciones-de-nginx&#34;&gt;No ignores el mismo lote de correcciones de Nginx
&lt;/h2&gt;&lt;p&gt;Las versiones &lt;code&gt;1.30.1&lt;/code&gt; y &lt;code&gt;1.31.0&lt;/code&gt; publicadas por nginx.org el mismo día no solo corrigen &lt;code&gt;CVE-2026-42945&lt;/code&gt;. La información de publicación también menciona HTTP/2 request injection, SCGI/uWSGI buffer overread, charset module buffer overread, HTTP/3 address spoofing, OCSP resolver use-after-free y otros problemas.&lt;/p&gt;
&lt;p&gt;Eso significa que un entorno de producción no debería limitarse a una regla temporal para un solo CVE. Conviene tratar esta ronda de seguridad de Nginx como una actualización completa.&lt;/p&gt;
&lt;h2 id=&#34;resumen&#34;&gt;Resumen
&lt;/h2&gt;&lt;p&gt;El punto clave de &lt;code&gt;CVE-2026-42945&lt;/code&gt; no es &amp;ldquo;todos los Nginx pueden tomarse al instante&amp;rdquo;. Es una vulnerabilidad de seguridad de memoria presente durante mucho tiempo en el módulo rewrite, que puede activarse mediante solicitudes no autenticadas bajo configuraciones concretas. El resultado directo más claro es el fallo y reinicio de workers; en entornos más débiles, como sistemas con ASLR desactivado, el riesgo de ejecución de código aumenta.&lt;/p&gt;
&lt;p&gt;Para equipos de operaciones, el orden de actuación es simple:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Confirmar el origen y la versión de Nginx.&lt;/li&gt;
&lt;li&gt;Revisar advisories de la distribución, F5, nginx.org o proveedor cloud.&lt;/li&gt;
&lt;li&gt;Actualizar cuanto antes a una versión corregida o a un paquete de seguridad de la distribución.&lt;/li&gt;
&lt;li&gt;Revisar configuraciones rewrite complejas, especialmente combinaciones de &lt;code&gt;$1&lt;/code&gt;, &lt;code&gt;$2&lt;/code&gt; y &lt;code&gt;?&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Confirmar ASLR, aislamiento de privilegios y estado de recarga del servicio.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;El titular puede asustar. La corrección debe ser tranquila: confirmar exposición, actualizar y después limpiar reglas rewrite de alto riesgo.&lt;/p&gt;
&lt;h2 id=&#34;referencias&#34;&gt;Referencias
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://nvd.nist.gov/vuln/detail/CVE-2026-42945&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NVD: CVE-2026-42945&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://nginx.org/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Información de publicación de nginx.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://my.f5.com/manage/s/article/K000161019&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;F5 Security Advisory K000161019&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://depthfirst.com/nginx-rift&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DepthFirst: Nginx Rift&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Dirty Frag, Copy Fail y Fragnesia: comparación de tres fallos recientes de escalada local en Linux</title>
        <link>https://knightli.com/es/2026/05/15/linux-lpe-dirty-frag-copy-fail-fragnesia-analysis/</link>
        <pubDate>Fri, 15 May 2026 13:24:04 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/15/linux-lpe-dirty-frag-copy-fail-fragnesia-analysis/</guid>
        <description>&lt;p&gt;En las últimas semanas han aparecido varias vulnerabilidades de escalada local de privilegios en el kernel de Linux: Dirty Frag, Copy Fail y Fragnesia. Parecen parte de una misma familia porque el resultado final es parecido: un usuario local con pocos privilegios podría convertirse en root.&lt;/p&gt;
&lt;p&gt;Pero desde el punto de vista operativo no conviene tratarlas como una sola vulnerabilidad. Sus módulos de entrada, rutas de activación, mitigaciones y ritmos de parcheo son distintos. Una lectura más precisa es que exponen un riesgo común en la frontera compleja entre la caché de páginas de Linux, &lt;code&gt;splice&lt;/code&gt;, socket buffers y rutas criptográficas.&lt;/p&gt;
&lt;p&gt;Este artículo solo analiza riesgos y respuesta. No incluye pasos reproducibles de explotación.&lt;/p&gt;
&lt;h2 id=&#34;qué-es-cada-vulnerabilidad&#34;&gt;Qué Es Cada Vulnerabilidad
&lt;/h2&gt;&lt;h3 id=&#34;dirty-frag-cve-2026-43284&#34;&gt;Dirty Frag: CVE-2026-43284
&lt;/h3&gt;&lt;p&gt;Dirty Frag apunta principalmente a un problema de escritura en la caché de páginas dentro de la ruta de red del kernel de Linux. En los análisis públicos suele aparecer junto con dos problemas: el lado &lt;code&gt;xfrm-ESP&lt;/code&gt;, CVE-2026-43284, y el lado &lt;code&gt;rxrpc&lt;/code&gt;, CVE-2026-43500.&lt;/p&gt;
&lt;p&gt;CVE-2026-43284 está relacionado con el descifrado in-place cuando ESP maneja fragmentos &lt;code&gt;skb&lt;/code&gt; compartidos. La clave no es que el atacante modifique directamente un archivo en disco, sino que el kernel escribe en páginas compartidas que no debería modificar y termina afectando el contenido del archivo en la caché de páginas.&lt;/p&gt;
&lt;p&gt;Desde operaciones, lo importante es recordar que Dirty Frag toca &lt;code&gt;esp4&lt;/code&gt;, &lt;code&gt;esp6&lt;/code&gt; y &lt;code&gt;rxrpc&lt;/code&gt;, un conjunto de módulos del kernel y rutas del subsistema de red. Está ligado a IPsec, ESP y RxRPC, por lo que la mitigación temporal también gira alrededor de esos módulos.&lt;/p&gt;
&lt;h3 id=&#34;copy-fail-cve-2026-31431&#34;&gt;Copy Fail: CVE-2026-31431
&lt;/h3&gt;&lt;p&gt;Copy Fail es una vulnerabilidad de escalada local de privilegios en el kernel de Linux divulgada por Theori / Xint Code. Su entrada no está en la ruta de red de IPsec, sino en la API criptográfica de espacio de usuario del kernel alrededor de &lt;code&gt;algif_aead&lt;/code&gt; / &lt;code&gt;AF_ALG&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Las explicaciones públicas la atribuyen a una optimización in-place introducida en 2017. En algunos casos, el kernel no copiaba datos como se esperaba y colocaba páginas de la caché en una ruta de destino escribible. Un atacante puede combinar &lt;code&gt;AF_ALG&lt;/code&gt; con &lt;code&gt;splice()&lt;/code&gt; para realizar una pequeña escritura controlada sobre páginas respaldadas por la caché.&lt;/p&gt;
&lt;p&gt;Su riesgo está en la alta explotabilidad y en el impacto sobre varias distribuciones principales. A diferencia de Dirty Frag, la mitigación temporal de Copy Fail se centra en restringir o desactivar &lt;code&gt;algif_aead&lt;/code&gt;, y en limitar la creación de sockets &lt;code&gt;AF_ALG&lt;/code&gt; en entornos de contenedores y CI.&lt;/p&gt;
&lt;h3 id=&#34;fragnesia-cve-2026-46300&#34;&gt;Fragnesia: CVE-2026-46300
&lt;/h3&gt;&lt;p&gt;Fragnesia es otra vulnerabilidad de escalada local de privilegios en el kernel de Linux divulgada por V12 Security, dentro de una superficie de ataque parecida a Dirty Frag. No es el mismo bug que Dirty Frag, pero sigue girando alrededor de módulos relacionados con IPsec ESP / &lt;code&gt;rxrpc&lt;/code&gt; y efectos de escritura en la caché de páginas.&lt;/p&gt;
&lt;p&gt;AlmaLinux la describe como el tercer problema de local-root en la misma zona amplia del código. El punto clave es que &lt;code&gt;skb_try_coalesce()&lt;/code&gt; no conservaba correctamente el marcador de fragment compartido al combinar fragmentos de socket buffer, lo que podía permitir que la ruta de recepción XFRM ESP-in-TCP descifrara in-place sobre páginas externas de la caché.&lt;/p&gt;
&lt;p&gt;En resumen, Fragnesia está más cerca de Dirty Frag. Ambas giran alrededor de &lt;code&gt;esp4&lt;/code&gt;, &lt;code&gt;esp6&lt;/code&gt;, &lt;code&gt;rxrpc&lt;/code&gt;, fragmentos &lt;code&gt;skb&lt;/code&gt; y rutas de descifrado ESP. Sus mitigaciones temporales también se solapan bastante.&lt;/p&gt;
&lt;h2 id=&#34;similitudes-por-qué-son-peligrosas&#34;&gt;Similitudes: Por Qué Son Peligrosas
&lt;/h2&gt;&lt;p&gt;El punto común no es que el código exacto esté en el mismo lugar, sino que el resultado del ataque y el modelo de riesgo son muy parecidos.&lt;/p&gt;
&lt;p&gt;Primero, las tres son escaladas locales de privilegios. Normalmente el atacante necesita primero ejecutar código local como usuario normal y luego intentar convertirse en root. En un escritorio de un solo usuario no es una intrusión remota de un clic; en servidores multiusuario, CI runners, hosts de contenedores, máquinas de desarrollo compartidas y VPS con SSH expuesto, las entradas de bajo privilegio no son raras.&lt;/p&gt;
&lt;p&gt;Segundo, las tres se relacionan con escrituras en la caché de páginas. El atacante no siempre modifica de forma permanente el archivo en disco; puede afectar la copia en memoria. Esto reduce la fiabilidad de las revisiones tradicionales de integridad: el hash del disco puede parecer normal mientras la ruta de ejecución lee contenido contaminado desde la caché.&lt;/p&gt;
&lt;p&gt;Tercero, se parecen más a bugs lógicos deterministas que a condiciones de carrera sensibles al tiempo. Los materiales públicos insisten en que no requieren ganar una race condition. Los defensores no deberían subestimar la fiabilidad de explotación por experiencia con fallos más antiguos.&lt;/p&gt;
&lt;p&gt;Cuarto, amplifican el riesgo en entornos de contenedores y automatización. Código de bajo privilegio dentro de contenedores, jobs de CI, scripts de compilación o plugins de terceros puede convertir un &amp;ldquo;problema local&amp;rdquo; en un problema de plataforma si alcanza las interfaces relevantes del kernel del host.&lt;/p&gt;
&lt;h2 id=&#34;diferencias-una-mitigación-no-cubre-todo&#34;&gt;Diferencias: Una Mitigación No Cubre Todo
&lt;/h2&gt;&lt;p&gt;La mayor diferencia está en el módulo de entrada.&lt;/p&gt;
&lt;p&gt;La entrada crítica de Copy Fail es &lt;code&gt;algif_aead&lt;/code&gt; / &lt;code&gt;AF_ALG&lt;/code&gt;, parte de la API criptográfica de espacio de usuario del kernel. Su defensa temporal se centra en desactivar o restringir &lt;code&gt;algif_aead&lt;/code&gt;, y usar seccomp para impedir que los contenedores creen sockets &lt;code&gt;AF_ALG&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;La entrada crítica de Dirty Frag está en &lt;code&gt;xfrm-ESP&lt;/code&gt; y &lt;code&gt;rxrpc&lt;/code&gt;. Está más cerca de las rutas de protocolo y manejo de socket buffers. La defensa temporal suele considerar desactivar &lt;code&gt;esp4&lt;/code&gt;, &lt;code&gt;esp6&lt;/code&gt; y &lt;code&gt;rxrpc&lt;/code&gt;, pero eso puede afectar IPsec, VPN, túneles o capacidades de red relacionadas.&lt;/p&gt;
&lt;p&gt;Fragnesia también está en una zona cercana a Dirty Frag, pero el problema concreto es que &lt;code&gt;skb_try_coalesce()&lt;/code&gt; no conservaba el marcador de fragment compartido. Es más bien otra rama de la superficie de riesgo de Dirty Frag, no un problema de la API criptográfica de Copy Fail.&lt;/p&gt;
&lt;p&gt;Por eso, haber tratado Copy Fail no significa que Dirty Frag y Fragnesia estén cubiertas. Del mismo modo, desactivar &lt;code&gt;esp4&lt;/code&gt; / &lt;code&gt;esp6&lt;/code&gt; no elimina automáticamente Copy Fail. Hay que confirmar por separado el estado de parches y la estrategia de mitigación.&lt;/p&gt;
&lt;h2 id=&#34;cómo-evaluar-la-exposición&#34;&gt;Cómo Evaluar la Exposición
&lt;/h2&gt;&lt;p&gt;Para estas vulnerabilidades no basta con mirar el nombre de la distribución ni la versión mayor del kernel. Las distribuciones hacen backport de correcciones, los proveedores cloud mantienen ramas propias del kernel y las distribuciones empresariales pueden llevar parches adicionales.&lt;/p&gt;
&lt;p&gt;Un orden más seguro es:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Revisar el aviso de seguridad de la distribución y el changelog del paquete del kernel.&lt;/li&gt;
&lt;li&gt;Confirmar si el paquete de kernel actual corrige el CVE correspondiente.&lt;/li&gt;
&lt;li&gt;En servidores cloud, hosts de contenedores y nodos de CI, revisar también avisos del proveedor o de la plataforma.&lt;/li&gt;
&lt;li&gt;Para mitigaciones temporales, confirmar si el negocio depende del módulo afectado.&lt;/li&gt;
&lt;li&gt;Después de actualizar el kernel, programar reinicio y comprobar que el kernel en ejecución cambió.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;La trampa más común es &amp;ldquo;el paquete está actualizado, pero la máquina no se reinició&amp;rdquo;. Las vulnerabilidades del kernel no son como actualizaciones de servicios de espacio de usuario. Hasta arrancar con el nuevo kernel, el kernel viejo puede seguir ejecutándose.&lt;/p&gt;
&lt;h2 id=&#34;prioridad-operativa&#34;&gt;Prioridad Operativa
&lt;/h2&gt;&lt;p&gt;Los sistemas más urgentes no son todas las máquinas Linux por igual. Hay que empezar donde es más probable que exista ejecución de código con pocos privilegios.&lt;/p&gt;
&lt;p&gt;Entornos de prioridad alta:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Servidores de login multiusuario&lt;/li&gt;
&lt;li&gt;CI / CD runners&lt;/li&gt;
&lt;li&gt;Máquinas de compilación y empaquetado de artefactos&lt;/li&gt;
&lt;li&gt;Hosts de contenedores y nodos Kubernetes&lt;/li&gt;
&lt;li&gt;Máquinas de desarrollo compartidas&lt;/li&gt;
&lt;li&gt;Servidores cloud y VPS con SSH expuesto&lt;/li&gt;
&lt;li&gt;Plataformas que ejecutan scripts, plugins o colas de tareas de terceros&lt;/li&gt;
&lt;li&gt;Máquinas con vulnerabilidades web, contraseñas débiles o señales históricas de compromiso&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Las máquinas cerradas, de un solo usuario y sin entrada externa de ejecución de código siguen teniendo riesgo si son vulnerables, pero normalmente pueden ir después.&lt;/p&gt;
&lt;h2 id=&#34;cómo-entender-la-mitigación-temporal&#34;&gt;Cómo Entender la Mitigación Temporal
&lt;/h2&gt;&lt;p&gt;La mitigación temporal no reemplaza al parche. Su valor es reducir la exposición cuando no se puede reiniciar de inmediato o mientras se esperan paquetes de la distribución.&lt;/p&gt;
&lt;p&gt;Para Copy Fail, el foco está en &lt;code&gt;algif_aead&lt;/code&gt; y &lt;code&gt;AF_ALG&lt;/code&gt;. Si el negocio no usa la interfaz criptográfica AF_ALG del kernel, se puede evaluar desactivar el módulo relacionado. En contenedores, conviene revisar primero las políticas seccomp para que cargas no confiables no puedan crear libremente el socket correspondiente.&lt;/p&gt;
&lt;p&gt;Para Dirty Frag y Fragnesia, el foco está en &lt;code&gt;esp4&lt;/code&gt;, &lt;code&gt;esp6&lt;/code&gt; y &lt;code&gt;rxrpc&lt;/code&gt;. Si el sistema no depende de IPsec ESP, VPN relacionadas, túneles o RxRPC, se puede evaluar una desactivación temporal. No debe hacerse a ciegas en producción porque esos módulos pueden sostener cargas de red reales.&lt;/p&gt;
&lt;p&gt;El camino final sigue siendo actualizar el kernel. La mitigación temporal reduce superficie de ataque, pero no demuestra que el sistema sea completamente seguro.&lt;/p&gt;
&lt;h2 id=&#34;qué-nos-dicen-estos-tres-fallos&#34;&gt;Qué Nos Dicen Estos Tres Fallos
&lt;/h2&gt;&lt;p&gt;La advertencia importante no es solo el número de CVE. Estos fallos se concentran en rutas del kernel muy complejas: zero-copy, &lt;code&gt;splice&lt;/code&gt;, socket buffers, caché de páginas, interfaces criptográficas y optimizaciones de pila de protocolos.&lt;/p&gt;
&lt;p&gt;Estas rutas dan grandes beneficios de rendimiento, pero también vuelven más difícil mantener los límites de propiedad. Si un fragment está compartido, si una página puede escribirse in-place o si una optimización realmente solo reduce copias se convierte en parte del límite de seguridad.&lt;/p&gt;
&lt;p&gt;Para equipos de seguridad y operaciones, las conclusiones son prácticas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Tratar la escalada local de privilegios como un amplificador de entradas ya existentes de bajo privilegio.&lt;/li&gt;
&lt;li&gt;Los contenedores no son una frontera natural de aislamiento frente a vulnerabilidades del kernel.&lt;/li&gt;
&lt;li&gt;Las revisiones de integridad no pueden mirar solo el contenido del disco.&lt;/li&gt;
&lt;li&gt;CI, máquinas de compilación y plataformas de plugins deben ser activos de alta prioridad.&lt;/li&gt;
&lt;li&gt;En parches de kernel hay que verificar tanto &amp;ldquo;instalado&amp;rdquo; como &amp;ldquo;en ejecución&amp;rdquo;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;resumen&#34;&gt;Resumen
&lt;/h2&gt;&lt;p&gt;Dirty Frag, Copy Fail y Fragnesia son eventos recientes de alta prioridad en la escalada local de privilegios de Linux, pero no son tres nombres del mismo fallo.&lt;/p&gt;
&lt;p&gt;Copy Fail pasa por la ruta criptográfica &lt;code&gt;algif_aead&lt;/code&gt; / &lt;code&gt;AF_ALG&lt;/code&gt;. Dirty Frag pasa por &lt;code&gt;xfrm-ESP&lt;/code&gt; y &lt;code&gt;rxrpc&lt;/code&gt;. Fragnesia, en una superficie cercana a Dirty Frag, vuelve a disparar riesgo de escritura en la caché de páginas por el manejo de marcadores de fragmentos &lt;code&gt;skb&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;La respuesta más sólida es actualizar el kernel según los avisos de la distribución y reiniciar. En sistemas que no puedan actualizarse de inmediato, evaluar la desactivación temporal de módulos o reglas seccomp más estrictas según la entrada real de cada vulnerabilidad. Priorizar entornos multi-tenant, CI, hosts de contenedores y desarrollo compartido.&lt;/p&gt;
&lt;p&gt;Referencias:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Notas de Theori sobre Copy Fail: &lt;a class=&#34;link&#34; href=&#34;https://github.com/theori-io/copy-fail-CVE-2026-31431&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/theori-io/copy-fail-CVE-2026-31431&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Aviso de CERT-EU sobre Copy Fail: &lt;a class=&#34;link&#34; href=&#34;https://cert.europa.eu/publications/security-advisories/2026-005/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://cert.europa.eu/publications/security-advisories/2026-005/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Notas de AlmaLinux sobre Dirty Frag: &lt;a class=&#34;link&#34; href=&#34;https://almalinux.org/blog/2026-05-07-dirty-frag/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://almalinux.org/blog/2026-05-07-dirty-frag/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Notas de AlmaLinux sobre Fragnesia: &lt;a class=&#34;link&#34; href=&#34;https://almalinux.org/blog/2026-05-13-fragnesia-cve-2026-46300/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://almalinux.org/blog/2026-05-13-fragnesia-cve-2026-46300/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Notas del PoC de V12 Security sobre Fragnesia: &lt;a class=&#34;link&#34; href=&#34;https://github.com/v12-security/pocs/tree/main/fragnesia&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/v12-security/pocs/tree/main/fragnesia&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Fragnesia (CVE-2026-46300): impacto y mitigación de una escalada local de privilegios en el kernel de Linux</title>
        <link>https://knightli.com/es/2026/05/15/linux-kernel-fragnesia-local-privilege-escalation/</link>
        <pubDate>Fri, 15 May 2026 13:18:01 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/15/linux-kernel-fragnesia-local-privilege-escalation/</guid>
        <description>&lt;p&gt;El kernel de Linux acaba de sumar otra vulnerabilidad de escalada local de privilegios en una superficie de ataque cercana a Dirty Frag: Fragnesia (CVE-2026-46300).&lt;/p&gt;
&lt;p&gt;Según la divulgación de V12 Security, Fragnesia es una vulnerabilidad local de Linux. El atacante no necesita privilegios elevados previos en el host. Si puede ejecutar código local, podría aprovechar un fallo lógico en el subsistema XFRM ESP-in-TCP del kernel para modificar, byte a byte, contenido de archivos de solo lectura a través de la caché de páginas y terminar obteniendo un root shell.&lt;/p&gt;
&lt;p&gt;Fuente:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Notas del PoC de V12 Security: &lt;a class=&#34;link&#34; href=&#34;https://github.com/v12-security/pocs/blob/main/fragnesia/README.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/v12-security/pocs/blob/main/fragnesia/README.md&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Este artículo no cubre pasos reproducibles de explotación. Se centra en los riesgos y la respuesta operativa.&lt;/p&gt;
&lt;h2 id=&#34;relación-con-dirty-frag&#34;&gt;Relación con Dirty Frag
&lt;/h2&gt;&lt;p&gt;V12 Security clasifica Fragnesia dentro de la familia de vulnerabilidades Dirty Frag. No es el mismo bug que Dirty Frag, sino otro problema en una superficie de ataque relacionada: XFRM ESP-in-TCP en el kernel de Linux.&lt;/p&gt;
&lt;p&gt;XFRM es el marco del kernel de Linux para procesar IPsec. ESP-in-TCP está relacionado con transportar tráfico ESP cifrado sobre TCP. El problema de Fragnesia está en la lógica de fragmentos de página compartidos y la combinación de socket buffers: en ciertas condiciones, el kernel puede perder la pista de que un fragment sigue compartido y dejar una zona de escritura controlable.&lt;/p&gt;
&lt;p&gt;Este tipo de fallo recuerda a Dirty Pipe / Dirty Frag y otros problemas de escritura en la caché de páginas. El código concreto no es el mismo, pero el efecto vuelve a caer sobre la copia en caché de un archivo de solo lectura.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-es-grave&#34;&gt;Por Qué Es Grave
&lt;/h2&gt;&lt;p&gt;Fragnesia es peligrosa por tres razones.&lt;/p&gt;
&lt;p&gt;Primero, es una escalada local de privilegios. Si un atacante ya puede ejecutar código como usuario normal, podría elevarse a root. Esto es especialmente sensible en servidores multiusuario, hosts de contenedores, CI runners, máquinas de desarrollo compartidas, VPS y entornos que exponen acceso shell.&lt;/p&gt;
&lt;p&gt;Segundo, no depende de una condición de carrera tradicional. Las notas de V12 describen una ruta que fuerza el procesamiento ESP-in-TCP sobre páginas de archivo ya incorporadas a un socket buffer mediante &lt;code&gt;splice&lt;/code&gt;, lo que permite influir byte a byte en el contenido de la caché de páginas. Eso hace que el riesgo sea práctico, no solo teórico.&lt;/p&gt;
&lt;p&gt;Tercero, modifica la caché de páginas, no el archivo en disco. El ejemplo público usa &lt;code&gt;/usr/bin/su&lt;/code&gt; como objetivo. Tras una explotación correcta, el archivo en disco no queda modificado de forma permanente; el cambio vive en la memoria. Las revisiones que solo comparan hashes o integridad del disco pueden no ver nada extraño.&lt;/p&gt;
&lt;p&gt;Ese es el punto incómodo para los administradores: el archivo parece intacto, pero al ejecutar la copia contaminada desde la caché de páginas puede activarse la escalada.&lt;/p&gt;
&lt;h2 id=&#34;alcance-conocido&#34;&gt;Alcance Conocido
&lt;/h2&gt;&lt;p&gt;V12 Security indica que los kernels afectados por Dirty Frag y sin los parches relevantes del 13 de mayo de 2026 también están afectados por Fragnesia. Los entornos verificados públicamente incluyen Ubuntu 22.04, Ubuntu 24.04 y kernels como &lt;code&gt;6.8.0-111-generic&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Hay dos matices importantes.&lt;/p&gt;
&lt;p&gt;Primero, no basta con mirar la versión mayor de la distribución. Que Ubuntu 22.04 / 24.04 esté afectado depende del estado real de parches del kernel, no solo del nombre de la distribución.&lt;/p&gt;
&lt;p&gt;Segundo, no conviene confiar únicamente en las restricciones predeterminadas de AppArmor para namespaces de usuario sin privilegios. En Ubuntu pueden elevar la barrera, pero la divulgación las trata como un problema adicional de bypass, no como una corrección del fallo.&lt;/p&gt;
&lt;p&gt;La forma fiable de decidir sigue siendo revisar los avisos de seguridad de la distribución y las actualizaciones del paquete del kernel.&lt;/p&gt;
&lt;h2 id=&#34;mitigación-temporal&#34;&gt;Mitigación Temporal
&lt;/h2&gt;&lt;p&gt;Si un sistema no puede actualizar el kernel de inmediato, primero hay que evaluar si depende de los módulos de protocolo relacionados.&lt;/p&gt;
&lt;p&gt;La mitigación indicada por V12 es la misma que para Dirty Frag: si el sistema no depende de IPsec ESP ni de RxRPC, se puede evaluar desactivar módulos como &lt;code&gt;esp4&lt;/code&gt;, &lt;code&gt;esp6&lt;/code&gt; y &lt;code&gt;rxrpc&lt;/code&gt;. Esto puede afectar capacidades de red, así que no debe aplicarse a ciegas en producción. Antes hay que confirmar si el negocio usa IPsec, VPN, túneles o funciones relacionadas del kernel.&lt;/p&gt;
&lt;p&gt;Un orden de respuesta más seguro es:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Confirmar si la distribución ya publicó una actualización de seguridad del kernel.&lt;/li&gt;
&lt;li&gt;Instalar primero el parche del kernel y programar el reinicio.&lt;/li&gt;
&lt;li&gt;Si no se puede actualizar de inmediato, evaluar la desactivación temporal de módulos.&lt;/li&gt;
&lt;li&gt;Priorizar sistemas multiusuario y entornos de CI / compilación.&lt;/li&gt;
&lt;li&gt;Revisar cuentas locales innecesarias, shell, superficie de escape de contenedores y entradas de ejecución de bajo privilegio.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;No hay que tratar la desactivación de módulos como corrección final. Es una reducción temporal de exposición.&lt;/p&gt;
&lt;h2 id=&#34;si-se-sospecha-explotación&#34;&gt;Si Se Sospecha Explotación
&lt;/h2&gt;&lt;p&gt;Una característica de Fragnesia es la contaminación de la caché de páginas. V12 señala que, tras la explotación, la copia del archivo objetivo en la caché puede contener contenido inyectado, y ejecuciones posteriores pueden seguir comportándose de forma anómala hasta que la página sea expulsada o el sistema se reinicie.&lt;/p&gt;
&lt;p&gt;Si se sospecha que el sistema fue explotado, conviene al menos:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Preservar logs y registros de auditoría cuanto antes.&lt;/li&gt;
&lt;li&gt;Revisar inicios de sesión locales anómalos, actividad de usuarios de bajo privilegio, procesos sospechosos y rastros de root shell.&lt;/li&gt;
&lt;li&gt;Limpiar la caché de páginas relevante o reiniciar directamente.&lt;/li&gt;
&lt;li&gt;Actualizar a un kernel corregido.&lt;/li&gt;
&lt;li&gt;Verificar binarios críticos, pero sin depender solo de hashes del disco.&lt;/li&gt;
&lt;li&gt;Rotar credenciales y claves potencialmente expuestas.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En servidores de producción, es mejor tratarlo como un posible incidente de escalada local de privilegios, no solo como una actualización rutinaria.&lt;/p&gt;
&lt;h2 id=&#34;qué-máquinas-priorizar&#34;&gt;Qué Máquinas Priorizar
&lt;/h2&gt;&lt;p&gt;La prioridad no debe repartirse por igual entre todas las máquinas Linux. Hay que empezar por los lugares donde un atacante tiene más probabilidades de obtener ejecución de código con pocos privilegios.&lt;/p&gt;
&lt;p&gt;Entornos de mayor prioridad:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Servidores de login multiusuario&lt;/li&gt;
&lt;li&gt;CI / CD runners&lt;/li&gt;
&lt;li&gt;Máquinas de compilación&lt;/li&gt;
&lt;li&gt;Máquinas de desarrollo compartidas&lt;/li&gt;
&lt;li&gt;Hosts de contenedores&lt;/li&gt;
&lt;li&gt;VPS y servidores cloud&lt;/li&gt;
&lt;li&gt;Nodos de borde con SSH expuesto&lt;/li&gt;
&lt;li&gt;Plataformas que ejecutan scripts o plugins de terceros&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Las máquinas cerradas, de un solo usuario y sin entrada externa de ejecución de código siguen teniendo riesgo si son vulnerables, pero la urgencia puede ser menor.&lt;/p&gt;
&lt;h2 id=&#34;resumen&#34;&gt;Resumen
&lt;/h2&gt;&lt;p&gt;Fragnesia merece atención no por tener un nombre nuevo, sino porque vuelve a llevar la escalada local de privilegios en Linux a una frontera compleja: la caché de páginas y los subsistemas de red del kernel.&lt;/p&gt;
&lt;p&gt;Para administradores, lo importante no es estudiar los detalles de explotación, sino confirmar el estado de parches del kernel, evaluar si se depende de ESP / RxRPC, actualizar primero las máquinas más expuestas y entender que &amp;ldquo;el archivo en disco no cambió&amp;rdquo; no significa &amp;ldquo;el sistema no fue afectado&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Si el sistema está afectado, la respuesta final sigue siendo instalar cuanto antes la actualización del kernel ofrecida por la distribución. Desactivar módulos temporalmente es solo una medida puente, no un reemplazo del parche.&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
