[{"data":1,"prerenderedAt":501},["ShallowReactive",2],{"switcher-blog-pareja":3,"art-nginx-cve-2026-42533-desbordamiento-critico-es":6},{"es":4,"en":5},"\u002Fes\u002Fblog\u002Fnginx-cve-2026-42533-desbordamiento-critico\u002F","\u002Fen\u002Fblog\u002Fnginx-cve-2026-42533-critical-heap-overflow\u002F",{"id":7,"title":8,"author":9,"body":10,"date":486,"description":487,"extension":488,"image":489,"meta":490,"navigation":298,"pareja":491,"path":492,"seo":493,"stem":494,"tags":495,"__hash__":500},"blogEs\u002Fes\u002Fblog\u002Fnginx-cve-2026-42533-desbordamiento-critico.md","Nginx parchea un desbordamiento crítico que arrastra desde 2011: CVE-2026-42533 y la cuenta atrás del exploit","Paco Cubel",{"type":11,"value":12,"toc":471},"minimark",[13,18,35,50,54,65,69,80,92,96,99,132,135,139,162,171,175,178,183,205,225,229,337,351,369,376,379,410,413,417,420,429,432,436,467],[14,15,17],"h2",{"id":16},"quince-años-en-el-código","Quince años en el código",[19,20,21,22,26,27,30,31,34],"p",{},"Hay parches que cierran un fallo de la última release, y parches que cierran un fallo con ",[23,24,25],"strong",{},"quince años de antigüedad",". Este es de los segundos: el desbordamiento de búfer identificado como ",[23,28,29],{},"CVE-2026-42533"," está presente en todas las versiones de Nginx desde la 0.9.6, publicada en ",[23,32,33],{},"2011",". Es decir: si tienes un Nginx en producción, da casi igual cuándo lo instalaras — estaba afectado.",[19,36,37,38,41,42,45,46,49],{},"El 15 de julio F5 publicó las versiones que lo corrigen: ",[23,39,40],{},"1.30.4"," (stable), ",[23,43,44],{},"1.31.3"," (mainline) y ",[23,47,48],{},"NGINX Plus 37.0.3.1",". Y no viene solo: en la misma tanda caen otras dos vulnerabilidades que conviene conocer.",[14,51,53],{"id":52},"en-una-frase","En una frase",[19,55,56,57,60,61,64],{},"Una petición HTTP manipulada puede provocar un ",[23,58,59],{},"desbordamiento de búfer en el heap"," del worker de Nginx. En el mejor de los casos para el atacante malo, tira el worker y provoca denegación de servicio; en el peor, si el sistema no tiene ASLR o el atacante consigue esquivarlo, la cosa puede escalar a ",[23,62,63],{},"ejecución remota de código",". CVSS 9.2 en la escala v4 (8.1 en v3.1, por la complejidad alta del ataque).",[14,66,68],{"id":67},"qué-se-sabe-del-fallo","Qué se sabe del fallo",[19,70,71,72,75,76,79],{},"El desbordamiento se produce en el motor de evaluación de expresiones de Nginx al procesar peticiones HTTP especialmente construidas. Los detalles finos están, deliberadamente, sin publicar: el investigador que lo reportó, Stan Shaw, ha anunciado que liberará su ",[23,73,74],{},"prueba de concepto 21 días después del parche"," — o sea, a ",[23,77,78],{},"principios de agosto",".",[19,81,82,83,86,87,91],{},"Ese modelo de \"os doy tres semanas\" es cada vez más común y hay que leerlo como lo que es: ",[23,84,85],{},"una cuenta atrás",". Hoy no hay exploit público ni constancia de explotación activa (no está en el catálogo KEV de CISA a fecha de este artículo). Pero el día que el PoC salga, los escáneres automáticos tardan horas en incorporarlo, no semanas. La ventana cómoda para actualizar es ",[88,89,90],"em",{},"ahora",", no en agosto.",[14,93,95],{"id":94},"lo-que-viene-en-la-misma-tanda","Lo que viene en la misma tanda",[19,97,98],{},"Las versiones 1.30.4 y 1.31.3 corrigen además:",[100,101,102,118],"ul",{},[103,104,105,108,109,113,114,117],"li",{},[23,106,107],{},"CVE-2026-60005"," — divulgación de memoria en ",[110,111,112],"code",{},"ngx_http_slice_module",". Si usas el módulo ",[110,115,116],{},"slice"," (típico en configuraciones de caché de vídeo o ficheros grandes troceados), una respuesta manipulada puede filtrar contenido de memoria del worker.",[103,119,120,121,127,128,131],{},"Un ",[23,122,123,124],{},"use-after-free en ",[110,125,126],{},"ngx_http_ssi_module",", el módulo de Server Side Includes. Menos gente lo usa hoy, pero si tienes ",[110,129,130],{},"ssi on;"," en alguna config heredada, también te toca.",[19,133,134],{},"Tres fallos, un solo paquete. Razón de más para no dejarlo pasar.",[14,136,138],{"id":137},"a-quién-afecta","A quién afecta",[100,140,141,150,156],{},[103,142,143,146,147,79],{},[23,144,145],{},"Versiones afectadas",": de la 0.9.6 a la 1.31.2. En la práctica, ",[23,148,149],{},"todo Nginx sin el parche del 15 de julio",[103,151,152,155],{},[23,153,154],{},"Mayor exposición",": cualquier Nginx de cara a internet, que es exactamente donde Nginx suele estar. La complejidad del ataque es alta, pero la superficie es universal.",[103,157,158,161],{},[23,159,160],{},"NGINX Plus",": afectado igualmente; el fix está en 37.0.3.1.",[19,163,164,165,170],{},"Si en mayo aplicaste ",[166,167,169],"a",{"href":168},"\u002Fes\u002Fblog\u002Fnginx-tanda-cves-mayo-2026","la tanda de siete CVEs"," y pensaste que ya estabas al día: lo estabas. Hasta ahora. Así funciona esto.",[14,172,174],{"id":173},"qué-tienes-que-hacer-hoy","Qué tienes que hacer hoy",[19,176,177],{},"La rutina de siempre, sin dramatismo y sin dejarlo para luego.",[179,180,182],"h3",{"id":181},"_1-mira-qué-versión-tienes","1. Mira qué versión tienes",[184,185,190],"pre",{"className":186,"code":187,"language":188,"meta":189,"style":189},"language-bash shiki shiki-themes github-dark-high-contrast","nginx -v\n","bash","",[110,191,192],{"__ignoreMap":189},[193,194,197,201],"span",{"class":195,"line":196},"line",1,[193,198,200],{"class":199},"s_sBn","nginx",[193,202,204],{"class":203},"sCcAr"," -v\n",[100,206,207,217],{},[103,208,209,210,213,214,79],{},"Rama ",[23,211,212],{},"stable",": el objetivo es ",[23,215,216],{},"1.30.4 o superior",[103,218,209,219,213,222,79],{},[23,220,221],{},"mainline",[23,223,224],{},"1.31.3 o superior",[179,226,228],{"id":227},"_2-actualiza-y-recarga-sin-downtime","2. Actualiza y recarga (sin downtime)",[184,230,232],{"className":186,"code":231,"language":188,"meta":189,"style":189},"# Debian \u002F Ubuntu\nsudo apt update && sudo apt install --only-upgrade nginx\nsudo nginx -t && sudo systemctl reload nginx\n\n# RHEL \u002F AlmaLinux \u002F Rocky\nsudo dnf update nginx\nsudo nginx -t && sudo systemctl reload nginx\n",[110,233,234,240,270,293,300,306,318],{"__ignoreMap":189},[193,235,236],{"class":195,"line":196},[193,237,239],{"class":238},"sQrFR","# Debian \u002F Ubuntu\n",[193,241,243,246,250,253,257,259,261,264,267],{"class":195,"line":242},2,[193,244,245],{"class":199},"sudo",[193,247,249],{"class":248},"sTRMh"," apt",[193,251,252],{"class":248}," update",[193,254,256],{"class":255},"sMAXC"," && ",[193,258,245],{"class":199},[193,260,249],{"class":248},[193,262,263],{"class":248}," install",[193,265,266],{"class":203}," --only-upgrade",[193,268,269],{"class":248}," nginx\n",[193,271,273,275,278,281,283,285,288,291],{"class":195,"line":272},3,[193,274,245],{"class":199},[193,276,277],{"class":248}," nginx",[193,279,280],{"class":203}," -t",[193,282,256],{"class":255},[193,284,245],{"class":199},[193,286,287],{"class":248}," systemctl",[193,289,290],{"class":248}," reload",[193,292,269],{"class":248},[193,294,296],{"class":195,"line":295},4,[193,297,299],{"emptyLinePlaceholder":298},true,"\n",[193,301,303],{"class":195,"line":302},5,[193,304,305],{"class":238},"# RHEL \u002F AlmaLinux \u002F Rocky\n",[193,307,309,311,314,316],{"class":195,"line":308},6,[193,310,245],{"class":199},[193,312,313],{"class":248}," dnf",[193,315,252],{"class":248},[193,317,269],{"class":248},[193,319,321,323,325,327,329,331,333,335],{"class":195,"line":320},7,[193,322,245],{"class":199},[193,324,277],{"class":248},[193,326,280],{"class":203},[193,328,256],{"class":255},[193,330,245],{"class":199},[193,332,287],{"class":248},[193,334,290],{"class":248},[193,336,269],{"class":248},[19,338,339,340,343,344,347,348,350],{},"El ",[110,341,342],{},"nginx -t"," antes del ",[110,345,346],{},"reload"," valida la configuración y te ahorra el susto de un servicio caído por una errata. El ",[110,349,346],{}," aplica el binario nuevo sin cortar conexiones en curso.",[352,353,354],"blockquote",{},[19,355,356,357,360,361,364,365,368],{},"Recuerda el matiz de los repositorios de distro: a veces backportean el fix ",[23,358,359],{},"manteniendo el número de versión antiguo",". Si tu ",[110,362,363],{},"nginx -v"," no llega al 1.30.4 pero el paquete es de después del 15 de julio, revisa el changelog de seguridad de tu distro antes de asustarte — y al revés: no des por hecho que estás cubierto solo porque hiciste ",[110,366,367],{},"apt upgrade"," la semana pasada.",[179,370,372,373,375],{"id":371},"_3-si-usas-slice-o-ssi","3. Si usas ",[110,374,116],{}," o SSI",[19,377,378],{},"Aprovecha la pasada para confirmarlo:",[184,380,382],{"className":186,"code":381,"language":188,"meta":189,"style":189},"nginx -T 2>\u002Fdev\u002Fnull | grep -E \"slice|ssi on\"\n",[110,383,384],{"__ignoreMap":189},[193,385,386,388,391,395,398,401,404,407],{"class":195,"line":196},[193,387,200],{"class":199},[193,389,390],{"class":203}," -T",[193,392,394],{"class":393},"sWyjQ"," 2>",[193,396,397],{"class":248},"\u002Fdev\u002Fnull",[193,399,400],{"class":393}," |",[193,402,403],{"class":199}," grep",[193,405,406],{"class":203}," -E",[193,408,409],{"class":248}," \"slice|ssi on\"\n",[19,411,412],{},"Si aparece algo, esos dos fallos secundarios también te aplicaban y el parche los cierra de golpe.",[14,414,416],{"id":415},"lo-que-hicimos-nosotros","Lo que hicimos nosotros",[19,418,419],{},"El mismo día 15 actualizamos los Nginx de cara a internet que gestionamos, empezando por los proxies inversos expuestos. Sin esperar al PoC, sin esperar a que aparezca en el KEV de CISA: cuando un fallo lleva quince años en el código, afecta a todas las versiones y tiene fecha anunciada de exploit público, el cálculo coste\u002Fbeneficio de actualizar ya está hecho.",[19,421,422,423,425,426,428],{},"Y después del ",[110,424,346],{},", el gesto que separa \"creo que está\" de \"está\": volver a ejecutar ",[110,427,363],{}," y comprobarlo. Con la memoria no se verifica nada.",[19,430,431],{},"Si tu Nginx lleva meses sin ver un parche —o no sabes ni qué versión corre—, hablamos.",[14,433,435],{"id":434},"referencias","Referencias",[100,437,438,446,453,460],{},[103,439,440],{},[166,441,445],{"href":442,"rel":443},"https:\u002F\u002Fnginx.org\u002Fen\u002Fsecurity_advisories.html",[444],"nofollow","nginx security advisories — nginx.org",[103,447,448],{},[166,449,452],{"href":450,"rel":451},"https:\u002F\u002Fthehackernews.com\u002F2026\u002F07\u002Fcritical-nginx-vulnerability-can-crash.html",[444],"Critical NGINX Vulnerability Can Crash Workers and May Allow Remote Code Execution — The Hacker News",[103,454,455],{},[166,456,459],{"href":457,"rel":458},"https:\u002F\u002Fmy.f5.com\u002Fmanage\u002Fs\u002Farticle\u002FK000161019",[444],"NGINX vulnerability CVE-2026-42533 — F5 (K000161019)",[103,461,462],{},[166,463,466],{"href":464,"rel":465},"https:\u002F\u002Fdocs.nginx.com\u002Fnginx\u002Freleases\u002F",[444],"Releases — NGINX Documentation",[468,469,470],"style",{},"html pre.shiki code .s_sBn, html code.shiki .s_sBn{--shiki-default:#FFB757}html pre.shiki code .sCcAr, html code.shiki .sCcAr{--shiki-default:#91CBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .sQrFR, html code.shiki .sQrFR{--shiki-default:#BDC4CC}html pre.shiki code .sTRMh, html code.shiki .sTRMh{--shiki-default:#ADDCFF}html pre.shiki code .sMAXC, html code.shiki .sMAXC{--shiki-default:#F0F3F6}html pre.shiki code .sWyjQ, html code.shiki .sWyjQ{--shiki-default:#FF9492}",{"title":189,"searchDepth":242,"depth":242,"links":472},[473,474,475,476,477,478,484,485],{"id":16,"depth":242,"text":17},{"id":52,"depth":242,"text":53},{"id":67,"depth":242,"text":68},{"id":94,"depth":242,"text":95},{"id":137,"depth":242,"text":138},{"id":173,"depth":242,"text":174,"children":479},[480,481,482],{"id":181,"depth":272,"text":182},{"id":227,"depth":272,"text":228},{"id":371,"depth":272,"text":483},"3. Si usas slice o SSI",{"id":415,"depth":242,"text":416},{"id":434,"depth":242,"text":435},"2026-07-16","Nginx acaba de publicar versiones de seguridad que cierran un desbordamiento de búfer presente en todas las versiones desde 2011, con CVSS 9.2. Hoy no hay exploit público, pero el investigador que lo encontró ya ha puesto fecha para publicarlo. Te contamos a quién afecta, qué más se arregla en la misma tanda y cómo actualizar sin cortar el servicio.","md","\u002Fog\u002Fog-default.png",{},"nginx-cve-2026-42533-critical-heap-overflow","\u002Fes\u002Fblog\u002Fnginx-cve-2026-42533-desbordamiento-critico",{"title":8,"description":487},"es\u002Fblog\u002Fnginx-cve-2026-42533-desbordamiento-critico",[496,497,498,499],"Nginx","Servidores","Seguridad","CVE","WWHv0s4RLuYdYgFBU-nB2uOpCLny7YG08NJ8jcs4tyg",1784782835097]