<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Vulnerability Analysis on KnightLi Blog</title>
        <link>https://www.knightli.com/es/tags/vulnerability-analysis/</link>
        <description>Recent content in Vulnerability Analysis on KnightLi Blog</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>es</language>
        <lastBuildDate>Fri, 15 May 2026 17:55:42 +0800</lastBuildDate><atom:link href="https://www.knightli.com/es/tags/vulnerability-analysis/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>Cómo comprobar CVE-2026-42945: condiciones de Nginx Rift, revisión de versiones y recomendaciones de actualización</title>
        <link>https://www.knightli.com/es/2026/05/15/nginx-rift-cve-2026-42945/</link>
        <pubDate>Fri, 15 May 2026 17:55:42 +0800</pubDate>
        
        <guid>https://www.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>Copy Fail CVE-2026-31431: riesgo de escape de contenedor en la ruta de copia de archivos del kernel Linux</title>
        <link>https://www.knightli.com/es/2026/05/01/copy-fail-cve-2026-31431-linux-kernel-container-escape/</link>
        <pubDate>Fri, 01 May 2026 18:42:34 +0800</pubDate>
        
        <guid>https://www.knightli.com/es/2026/05/01/copy-fail-cve-2026-31431-linux-kernel-container-escape/</guid>
        <description>&lt;p&gt;Copy Fail es una vulnerabilidad en la ruta de copia de archivos del kernel Linux, registrada como &lt;code&gt;CVE-2026-31431&lt;/code&gt;.
El análisis de Bugcrowd la describe como un problema de nivel kernel que merece atención: bajo condiciones específicas, un usuario sin privilegios puede abusar de la lógica de copia de archivos para provocar escrituras no autorizadas, lo que puede llevar a escalada de privilegios o escape de contenedor.&lt;/p&gt;
&lt;p&gt;Desde una perspectiva de riesgo, no es una vulnerabilidad normal de capa de aplicación.
El problema ocurre en la ruta del kernel que maneja copia de archivos y comportamiento de page cache, por lo que su impacto puede extenderse a contenedores, hosts compartidos, runners de CI/CD, plataformas PaaS y entornos Linux multi-tenant.
Si un atacante ya puede ejecutar código con pocos privilegios en un sistema, la vulnerabilidad puede convertirse en un escalón para romper límites de aislamiento.&lt;/p&gt;
&lt;h2 id=&#34;dónde-vive-aproximadamente-la-vulnerabilidad&#34;&gt;Dónde vive aproximadamente la vulnerabilidad
&lt;/h2&gt;&lt;p&gt;Copy Fail está relacionada con capacidades de copia de archivos del kernel Linux.
Linux moderno ofrece varias rutas eficientes de copia, como &lt;code&gt;copy_file_range&lt;/code&gt;, rutas tipo splice y optimizaciones de copia de datos entre distintos sistemas de archivos.
Estos mecanismos están diseñados para reducir movimiento de datos entre espacio de usuario y espacio de kernel y mejorar el rendimiento de copia de archivos grandes.&lt;/p&gt;
&lt;p&gt;El problema es que las rutas de copia de alto rendimiento suelen reutilizar page cache, offsets de archivo, comprobaciones de permisos y callbacks de sistemas de archivos.
Si una condición de borde no se maneja con suficiente rigor, el kernel puede realizar una escritura en el contexto de permisos equivocado o exponer páginas de datos que el atacante no debería controlar.&lt;/p&gt;
&lt;p&gt;El riesgo central de Copy Fail se puede resumir así:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;el atacante no necesita privilegios root;&lt;/li&gt;
&lt;li&gt;el punto de entrada del ataque proviene de capacidades comunes de copia de archivos;&lt;/li&gt;
&lt;li&gt;la lógica afectada se ejecuta en espacio de kernel;&lt;/li&gt;
&lt;li&gt;en entornos de contenedores, la vulnerabilidad puede saltarse aislamiento de namespaces y montajes;&lt;/li&gt;
&lt;li&gt;una explotación exitosa puede escribir contenido del host que el contenedor no debería poder modificar.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Por eso ha llamado la atención.
La seguridad de contenedores depende del aislamiento que proporciona el kernel Linux. Cuando una ruta del propio kernel permite escrituras no autorizadas, el límite del contenedor se vuelve frágil.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-los-escenarios-de-contenedores-son-más-sensibles&#34;&gt;Por qué los escenarios de contenedores son más sensibles
&lt;/h2&gt;&lt;p&gt;Los contenedores no son máquinas virtuales.
Los procesos dentro de un contenedor comparten el mismo kernel Linux con el host y se aíslan mediante mecanismos como namespaces, cgroups, capabilities, seccomp y AppArmor/SELinux.&lt;/p&gt;
&lt;p&gt;Si una vulnerabilidad existe en un servicio de espacio de usuario, normalmente afecta solo a un contenedor o un proceso.
Pero si la vulnerabilidad está en el kernel, especialmente una que puede activar un usuario sin privilegios, un atacante puede influir en el host desde dentro de un contenedor.&lt;/p&gt;
&lt;p&gt;Ahí es donde Copy Fail se vuelve peligroso.
Muchas plataformas permiten a usuarios enviar jobs de build, ejecutar scripts, iniciar contenedores o ejecutar plugins.
Mientras un atacante pueda ejecutar código dentro de un contenedor, puede intentar usar la ruta de copia de archivos del kernel para romper el aislamiento.&lt;/p&gt;
&lt;p&gt;Entornos de alto riesgo incluyen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;cargas no confiables en clusters Kubernetes;&lt;/li&gt;
&lt;li&gt;runners compartidos en plataformas CI/CD;&lt;/li&gt;
&lt;li&gt;plataformas sandbox que permiten a usuarios subir y ejecutar código;&lt;/li&gt;
&lt;li&gt;hosts Linux multi-tenant;&lt;/li&gt;
&lt;li&gt;entornos PaaS contenerizados;&lt;/li&gt;
&lt;li&gt;sistemas que ejecutan plugins o extensiones de terceros.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si estos entornos ejecutan kernels afectados y no tienen restricciones adicionales, el riesgo aumenta de forma significativa.&lt;/p&gt;
&lt;h2 id=&#34;el-impacto-depende-del-estado-de-parcheo-del-kernel&#34;&gt;El impacto depende del estado de parcheo del kernel
&lt;/h2&gt;&lt;p&gt;No se puede juzgar este tipo de vulnerabilidad solo por el nombre de la distribución.
Para la misma versión de Ubuntu, Debian, RHEL, Fedora o Arch, la exposición depende del paquete de kernel que realmente está en ejecución y de si la distribución hizo backport del arreglo.&lt;/p&gt;
&lt;p&gt;Durante el triage, prioriza tres comprobaciones:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;La versión del kernel actualmente en ejecución.&lt;/li&gt;
&lt;li&gt;Si el aviso de seguridad de la distribución menciona &lt;code&gt;CVE-2026-31431&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Si el proveedor cloud o la plataforma gestionada parcheó el kernel del host.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Primero puedes confirmar la versión del kernel en el sistema:&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;Luego revisa avisos de seguridad de la distribución, changelogs del kernel o comunicados de la plataforma cloud.
No juzgues la seguridad solo por la versión mayor, porque muchas distribuciones empresariales hacen backport de correcciones de seguridad a ramas de kernel antiguas.&lt;/p&gt;
&lt;h2 id=&#34;ideas-de-mitigación-temporal&#34;&gt;Ideas de mitigación temporal
&lt;/h2&gt;&lt;p&gt;La solución más confiable sigue siendo actualizar el kernel.
Pero en entornos donde los parches no pueden desplegarse de inmediato, puedes reducir exposición primero.&lt;/p&gt;
&lt;p&gt;Direcciones comunes de mitigación incluyen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;impedir que usuarios no confiables ejecuten contenedores privilegiados;&lt;/li&gt;
&lt;li&gt;evitar montar rutas sensibles del host dentro de contenedores;&lt;/li&gt;
&lt;li&gt;endurecer capabilities de contenedores, especialmente evitando &lt;code&gt;CAP_SYS_ADMIN&lt;/code&gt; innecesario;&lt;/li&gt;
&lt;li&gt;usar seccomp, AppArmor o SELinux para restringir syscalls peligrosas y acceso a archivos;&lt;/li&gt;
&lt;li&gt;mover cargas no confiables a aislamiento más fuerte mediante máquinas virtuales;&lt;/li&gt;
&lt;li&gt;destruir runners de CI/CD por job en lugar de reutilizar el mismo host durante mucho tiempo;&lt;/li&gt;
&lt;li&gt;monitorear escrituras anómalas de archivos, cambios de permisos y señales de escape de contenedor.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Estas medidas no reemplazan parches.
Su papel es reducir la probabilidad de explotación y el impacto, especialmente antes de que los parches lleguen a producción.&lt;/p&gt;
&lt;h2 id=&#34;prioridad-de-parcheo&#34;&gt;Prioridad de parcheo
&lt;/h2&gt;&lt;p&gt;Prioriza la remediación según el riesgo del entorno.&lt;/p&gt;
&lt;p&gt;Parchear primero:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;plataformas que exponen ejecución de contenedores a usuarios externos;&lt;/li&gt;
&lt;li&gt;nodos CI/CD que ejecutan código no confiable;&lt;/li&gt;
&lt;li&gt;nodos Kubernetes multi-tenant;&lt;/li&gt;
&lt;li&gt;sistemas con plugins o ejecución de scripts definidos por usuarios;&lt;/li&gt;
&lt;li&gt;máquinas de desarrollo compartidas, equipos de enseñanza y plataformas de laboratorio.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Prioridad relativamente menor:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;escritorios de un solo usuario;&lt;/li&gt;
&lt;li&gt;hosts internos que solo ejecutan servicios confiables;&lt;/li&gt;
&lt;li&gt;entornos que ya aíslan código no confiable mediante máquinas virtuales.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Incluso cuando el riesgo es menor, sigue siendo mejor actualizar el kernel mediante la distribución.
Las vulnerabilidades de kernel a menudo se encadenan en ataques más complejos, y retrasar parches rara vez aporta mucho beneficio.&lt;/p&gt;
&lt;h2 id=&#34;checklist-para-equipos-de-operaciones&#34;&gt;Checklist para equipos de operaciones
&lt;/h2&gt;&lt;p&gt;Puedes procesarlo en este orden:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Inventariar todos los hosts Linux y nodos de contenedores.&lt;/li&gt;
&lt;li&gt;Marcar máquinas que ejecutan código no confiable.&lt;/li&gt;
&lt;li&gt;Comprobar versión actual de kernel y avisos de seguridad de la distribución.&lt;/li&gt;
&lt;li&gt;Actualizar primero los nodos de alto riesgo.&lt;/li&gt;
&lt;li&gt;Aplicar políticas temporales de aislamiento a nodos que no pueden actualizarse de inmediato.&lt;/li&gt;
&lt;li&gt;Revisar configuración del runtime de contenedores y eliminar privilegios y montajes de host innecesarios.&lt;/li&gt;
&lt;li&gt;Reiniciar nodos después de actualizar y confirmar que el nuevo kernel está realmente en ejecución.&lt;/li&gt;
&lt;li&gt;Mantener registros de cambios para auditoría posterior.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Instalar un paquete de kernel no significa que el sistema ya esté ejecutando el nuevo kernel.
Debes reiniciar después de actualizar y confirmar de nuevo:&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;h2 id=&#34;resumen&#34;&gt;Resumen
&lt;/h2&gt;&lt;p&gt;El punto clave de Copy Fail / &lt;code&gt;CVE-2026-31431&lt;/code&gt; no es que una aplicación se cierre, sino que existe un problema de límite de permisos en la ruta de copia de archivos del kernel Linux.
Da a código sin privilegios una oportunidad de tocar rutas de escritura con mayor privilegio, por lo que merece atención especial en entornos de contenedores y multi-tenant.&lt;/p&gt;
&lt;p&gt;Al manejar este tipo de vulnerabilidad, las dos acciones más importantes son:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;seguir cuanto antes los parches de kernel de tu distribución o proveedor cloud;&lt;/li&gt;
&lt;li&gt;antes de desplegar parches, restringir código no confiable, contenedores privilegiados y montajes sensibles del host.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Para escritorios personales, quizá no sea un motivo de pánico inmediato.
Pero para equipos que operan plataformas de contenedores, CI/CD, sandboxes y hosts compartidos, debe tratarse como una actualización de seguridad de kernel de alta prioridad.&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.bugcrowd.com/blog/what-we-know-about-copy-fail-cve-2026-31431/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Bugcrowd: What We Know About Copy Fail CVE-2026-31431&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://copy.fail/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Explicación oficial de Copy Fail&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        
    </channel>
</rss>
