{"id":1631,"date":"2026-07-19T21:51:35","date_gmt":"2026-07-19T21:51:35","guid":{"rendered":"https:\/\/cybercolombia.co\/index.php\/2026\/07\/19\/la-vulnerabilidad-critica-de-nginx-puede-bloquear-a-los-trabajadores-y-permitir-la-ejecucion-remota-de-codigo-cyberdefensa-mx\/"},"modified":"2026-07-19T21:51:35","modified_gmt":"2026-07-19T21:51:35","slug":"la-vulnerabilidad-critica-de-nginx-puede-bloquear-a-los-trabajadores-y-permitir-la-ejecucion-remota-de-codigo-cyberdefensa-mx","status":"publish","type":"post","link":"https:\/\/cybercolombia.co\/index.php\/2026\/07\/19\/la-vulnerabilidad-critica-de-nginx-puede-bloquear-a-los-trabajadores-y-permitir-la-ejecucion-remota-de-codigo-cyberdefensa-mx\/","title":{"rendered":"La vulnerabilidad cr\u00edtica de NGINX puede bloquear a los trabajadores y permitir la ejecuci\u00f3n remota de c\u00f3digo \u2013 CYBERDEFENSA.MX"},"content":{"rendered":"<div id=\"articlebody\">\n<p>F5 ha enviado correcciones para una falla cr\u00edtica de nginx que permite a un atacante remoto no autenticado desencadenar un desbordamiento del b\u00fafer de mont\u00f3n en el proceso de trabajo con solicitudes HTTP dise\u00f1adas. <a href=\"https:\/\/www.cve.org\/CVERecord?id=CVE-2026-42533\"><code>CVE-2026-42533<\/code><\/a>  fue parcheado el 15 de julio en <a href=\"https:\/\/nginx.org\/en\/CHANGES\">nginx 1.30.4 (estable) y 1.31.3 (l\u00ednea principal)<\/a>y en NGINX Plus 37.0.3.1; cualquiera que tenga una versi\u00f3n anterior deber\u00eda actualizar.<\/p>\n<p>Activarlo puede bloquear o reiniciar al trabajador, provocando una denegaci\u00f3n de servicio; donde ASLR est\u00e1 deshabilitado o se puede omitir, F5 dice que tambi\u00e9n puede permitir la ejecuci\u00f3n remota de c\u00f3digo.<\/p>\n<p>El desbordamiento reside en el motor de secuencias de comandos de nginx, el c\u00f3digo que ensambla cadenas a partir de directivas en el momento de la solicitud. S\u00f3lo aparece bajo una configuraci\u00f3n espec\u00edfica: una basada en expresiones regulares <code>map<\/code> cuya variable de salida est\u00e1 referenciada en una expresi\u00f3n de cadena despu\u00e9s de una captura de una coincidencia de expresiones regulares anterior.<\/p>\n<p>Bajo ese patr\u00f3n, la evaluaci\u00f3n de dos pasadas del motor se desmorona. La primera pasada mide cu\u00e1ntos bytes necesita el resultado y asigna un b\u00fafer para que quepa; la segunda pasada escribe los bytes. Ambos leen el mismo estado de captura compartido y la evaluaci\u00f3n de la expresi\u00f3n regular del mapa entre las dos pasadas lo sobrescribe.<\/p>\n<p>Entonces, la pasada de medici\u00f3n dimensiona el b\u00fafer para la captura original, una referencia como <code>$1<\/code> desde la coincidencia de ubicaci\u00f3n, mientras que el pase de escritura lo completa desde uno diferente, del tama\u00f1o de un atacante. El b\u00fafer es demasiado peque\u00f1o y tanto la longitud como el contenido del desbordamiento provienen directamente de la solicitud.<\/p>\n<div class=\"dog_two clear\">\n<div class=\"cf\"><a href=\"https:\/\/thehackernews.uk\/ai-vuln-protection-d\" rel=\"nofollow noopener sponsored\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"lazyload\" alt=\"Ciberseguridad\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjQl2axNwsfhbXOFynrg_uAZsvHi3OvNGSA8KJO-BKR8Xm3x7yjKV3EvfY4v5mwXx6LF0uWFb9h9d9iAV_Pi-YYhqimX9wx4OaLdDJEdR215Xrxq_PAtXkaLfQso4pTSjbj6fvh_ZTliLpzWZSZfcoZgyXtKwhN-SSDDlmbtUqGLshc0KqYQGWYHMN52Sl1\/s728-e100\/zz-d.jpg\" width=\"729\" height=\"91\"\/><\/a><\/div>\n<\/div>\n<p>Esto no afecta a todos los servidores nginx; la exposici\u00f3n depende de la configuraci\u00f3n, no solo de la versi\u00f3n. F5 <a href=\"https:\/\/my.f5.com\/manage\/s\/article\/K000162097\">consultivo<\/a> enumera la falla que afecta a NGINX Ingress Controller, Gateway Fabric, App Protect WAF e Instance Manager junto con el servidor central y NGINX Plus, aunque en el momento de la publicaci\u00f3n, F5 no hab\u00eda enumerado compilaciones fijas para esos cuatro productos.<\/p>\n<p>F5 obtiene una puntuaci\u00f3n de 9,2 en CVSS v4 y 8,1 en la escala v3.1 anterior, y califica la complejidad del ataque como alta. Cada versi\u00f3n de nginx de <a href=\"https:\/\/nginx.org\/en\/security_advisories.html\">0.9.6 a 1.31.2<\/a> es vulnerable, un rango que se remonta a 2011, cuando <code>map<\/code> obtuvo soporte para expresiones regulares.<\/p>\n<p>CVE-2026-42533 fue informado a F5 de forma independiente por m\u00e1s de una docena de investigadores; el proveedor les agradeci\u00f3 por \u00abhacernos llegar este problema de forma independiente\u00bb. El propio registro de cambios de nginx atribuye la soluci\u00f3n a Mufeed VH de Winfunc Research y al mantenedor Maxim Dounin.<\/p>\n<p>Uno de los periodistas, <b>Stan Shaw<\/b>que publica como <b>ciberstan<\/b>sacar un <a href=\"https:\/\/cyberstan.co.uk\/nginx-rce\/\">redacci\u00f3n detallada<\/a> eso va m\u00e1s all\u00e1 del aviso. F5 condiciona que la ejecuci\u00f3n de c\u00f3digo en ASLR est\u00e9 deshabilitada o se pueda omitir, y el argumento de Shaw es que la falla proporciona la omisi\u00f3n en s\u00ed. Le dijo a The Hacker News que la captura de datos tambi\u00e9n se ejecuta a la inversa: cuando la captura de datos es m\u00e1s peque\u00f1a que la original, el b\u00fafer de gran tama\u00f1o devuelve datos del mont\u00f3n no inicializados, y en una compilaci\u00f3n predeterminada de Ubuntu 24.04, un \u00fanico GET no autenticado recupera las direcciones que necesita una carga \u00fatil.<\/p>\n<div class=\"separator\" style=\"clear: both;\"><a href=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjh_nTE5x5dm-A7wgige0kUXze0UA8c22iWT66MozDFzCF2gwK5O-agmIdRk-MsqCIi3qGW12VSTP7F9Gcu43fu5pwV47yC77rDYENsc33hVsJwvgdX6Vf6gTCL0HEBhkdhAcChZI04nf18vXfcBrD0ehJw4IZsxaKcava6VRVEsvRsqJcnKkXxcg7vKnE\/s1700-e365\/server.jpg\" style=\"display: block;  text-align: center; clear: left; float: left;\"><img decoding=\"async\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjh_nTE5x5dm-A7wgige0kUXze0UA8c22iWT66MozDFzCF2gwK5O-agmIdRk-MsqCIi3qGW12VSTP7F9Gcu43fu5pwV47yC77rDYENsc33hVsJwvgdX6Vf6gTCL0HEBhkdhAcChZI04nf18vXfcBrD0ehJw4IZsxaKcava6VRVEsvRsqJcnKkXxcg7vKnE\/s1700-e365\/server.jpg\" alt=\"\" border=\"0\" data-original-height=\"804\" data-original-width=\"1322\"\/><\/a><\/div>\n<p>\u00abUn lector del aviso de F5 podr\u00eda concluir razonablemente que esto es s\u00f3lo DoS en sistemas predeterminados. No lo es\u00bb, dijo Shaw. Es una afirmaci\u00f3n m\u00e1s fuerte que la que hace F5, una que, seg\u00fan \u00e9l, alcanz\u00f3 10 de 10 en sus propias pruebas, y est\u00e1 reteniendo los detalles de explotaci\u00f3n y una prueba de concepto por ahora, por lo que nadie puede verificarlo de forma independiente todav\u00eda.<\/p>\n<p>La soluci\u00f3n es actualizar a nginx 1.30.4 o 1.31.3, o NGINX Plus 37.0.3.1. Para cualquiera que no pueda parchear de inmediato, la mitigaci\u00f3n temporal de F5 es cambiar los mapas de expresiones regulares afectados a capturas con nombre, lo que, seg\u00fan Shaw, cierra la ruta principal y cubre la mayor\u00eda de las configuraciones.<\/p>\n<p>Pero dijo a The Hacker News que la mitigaci\u00f3n deja abierto un camino m\u00e1s estrecho: un <code>map<\/code> que define el mismo grupo con nombre como expresi\u00f3n regular de ubicaci\u00f3n alcanza el mismo desbordamiento a trav\u00e9s de una segunda ruta de c\u00f3digo, que confirm\u00f3 con AddressSanitizer y que el aviso de F5 no menciona. \u00abActualizar a 1.30.4\/1.31.3 es la \u00fanica soluci\u00f3n completa\u00bb, afirm\u00f3.<\/p>\n<p>La exposici\u00f3n a grep for es estrecha: una expresi\u00f3n regular <code>map<\/code> cuya variable aparece en una expresi\u00f3n de cadena junto a una captura numerada (<code>$1<\/code>, <code>$2<\/code>) de una expresi\u00f3n regular anterior, con la captura escrita delante de la variable del mapa.<\/p>\n<div class=\"dog_two clear\">\n<div class=\"cf\"><a href=\"https:\/\/thehackernews.uk\/sygnia-cyber-response-d-1\" rel=\"nofollow noopener sponsored\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"lazyload\" alt=\"Ciberseguridad\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiBxLQDy7VdLze43eMmpRllTXaPKPfB_veNUxQlqIu3-68GBJtegkhDGCqtaiSymOQviROdxln1FSd4zdMp5Jv9jeF1xQxLPc9uo9H7zW2nWHNax0wT0Y8JRj-zyUfbaCLqhxSfQT2sCfhWMBPL6UVgsh5RYVNVxwus_mW_BY9Ptwz3z7iF0_LWOnte-gqg\/s1600\/sy-d-1.jpg\" width=\"729\" height=\"91\"\/><\/a><\/div>\n<\/div>\n<p>el propio shaw <a href=\"https:\/\/github.com\/0xCyberstan\/CVE-2026-42533-Config-Scanner\">esc\u00e1ner<\/a> automatiza esa verificaci\u00f3n en una configuraci\u00f3n, sigue las inclusiones y marca solo el orden explotable; no explota nada, pero como herramienta del reportero no es un producto de vendedor.<\/p>\n<p>Este es el tercer desbordamiento del mont\u00f3n en el c\u00f3digo de evaluaci\u00f3n de expresiones de nginx revelado en aproximadamente dos meses, despu\u00e9s de Rift (<code>CVE-2026-42945<\/code>) en mayo y un error de capturas superpuestas en el m\u00f3dulo de reescritura (<a href=\"https:\/\/www.cve.org\/CVERecord?id=CVE-2026-9256\"><code>CVE-2026-9256<\/code><\/a>) d\u00edas despu\u00e9s.<\/p>\n<div class=\"separator\" style=\"clear: both;\"><a href=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEgQuz6QVhsNwq_tctdktqFCMktOlVU2sT0O-ctSPK1uPr4ZSnHxp_zyQ2ub9AlrUcBgw8IvaH5ZNCcM7CZwJlVB98B-9KmZrAk3WkBJ56XXb52IDpBqFMJylfKJRTAzg5Hi1RIsX762cbh6_9KcEaXPY_ZuMLE8T7_5mGT3mHsUzW0rAlX_fNJ91BWvN3A\/s1700-e365\/scanner.jpg\" style=\"display: block;  text-align: center; clear: left; float: left;\"><img decoding=\"async\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEgQuz6QVhsNwq_tctdktqFCMktOlVU2sT0O-ctSPK1uPr4ZSnHxp_zyQ2ub9AlrUcBgw8IvaH5ZNCcM7CZwJlVB98B-9KmZrAk3WkBJ56XXb52IDpBqFMJylfKJRTAzg5Hi1RIsX762cbh6_9KcEaXPY_ZuMLE8T7_5mGT3mHsUzW0rAlX_fNJ91BWvN3A\/s1700-e365\/scanner.jpg\" alt=\"\" border=\"0\" data-original-height=\"380\" data-original-width=\"797\"\/><\/a><\/div>\n<p>Los tres son la misma clase de falla: el motor de script de dos pasadas de nginx dimensiona un b\u00fafer en una pasada y escribe en \u00e9l en la siguiente, y cada vez que la escritura supera el tama\u00f1o medido. El desencadenante es diferente: una bandera obsoleta en Rift, capturas superpuestas en el error de reescritura, estado de captura golpeado aqu\u00ed. La debilidad compartida, como se\u00f1ala el investigador, es un dise\u00f1o de dos pasos que conf\u00eda en su propia medici\u00f3n.<\/p>\n<p>A partir del 20 de julio, CVE-2026-42533 no estaba en la lista de CISA. <a href=\"https:\/\/www.cisa.gov\/known-exploited-vulnerabilities-catalog\">Cat\u00e1logo de vulnerabilidades explotadas conocidas<\/a> y no hab\u00eda aparecido ning\u00fan c\u00f3digo de explotaci\u00f3n p\u00fablico. Shaw dice que publicar\u00e1 su propia prueba de concepto 21 d\u00edas despu\u00e9s del parche, y Rift es el caso de precauci\u00f3n: su exploit se hizo p\u00fablico a los pocos d\u00edas y atrajo una explotaci\u00f3n activa poco despu\u00e9s. Esa es la raz\u00f3n para actualizar antes de que llegue este.<\/p>\n<p>The Hacker News pregunt\u00f3 a F5 si el cambio a capturas con nombre cierra completamente CVE-2026-42533, dada la variante de los documentos de Shaw, y cu\u00e1ndo se enviar\u00e1n las compilaciones fijas para los productos posteriores afectados. F5 no hab\u00eda respondido mediante publicaci\u00f3n.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>F5 ha enviado correcciones para una falla cr\u00edtica de nginx que permite a un atacante remoto no autenticado desencadenar un desbordamiento del b\u00fafer de mont\u00f3n en el proceso de trabajo con solicitudes HTTP dise\u00f1adas. CVE-2026-42533 fue parcheado el 15 de julio en nginx 1.30.4 (estable) y 1.31.3 (l\u00ednea principal)y en NGINX Plus 37.0.3.1; cualquiera que [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1379,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25,5],"tags":[1487,376,611,24,766,52,1842,681,82,767,588,313],"class_list":["post-1631","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-noticias","category-trending","tag-bloquear","tag-codigo","tag-critica","tag-cyberdefensa-mx","tag-ejecucion","tag-los","tag-nginx","tag-permitir","tag-puede","tag-remota","tag-trabajadores","tag-vulnerabilidad"],"_links":{"self":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/posts\/1631","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/comments?post=1631"}],"version-history":[{"count":0,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/posts\/1631\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/media\/1379"}],"wp:attachment":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/media?parent=1631"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/categories?post=1631"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/tags?post=1631"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}