Hermanos y hermanas del código, hoy traigo algo que parece sacado de una novela de ciencia ficción: tu propio servidor colapsando por su propia culpa vía HTTP/2. No, no me he fumado nada raro: estamos ante MadeYouReset, una nueva y brutal vulnerabilidad DDoS que obliga al servidor a derribarse a sí mismo.
De Rapid Reset a MadeYouReset: evolución del desastre
- CVE-2023-44487 – Rapid Reset (2023) era el ataque en el que el cliente mete miles de solicitudes y las cancela con
RST_STREAM
al vuelo, pero el servidor, ingenuo, sigue procesando cada petición. Resultado: DoS brutal. Recordemos cifras de AWS mitigando 155 M RPS, Cloudflare 201 M, Google hasta 398 M RPS. - Pero Rapid Reset ya tenía defensas: Cloudflare, Google y otros detectaban resets en masa, cerraban conexiones con GOAWAY proactivo… mitigaban el ruido RST.
RST_STREAM
, el atacante envía frames perfectamente válidos en apariencia pero con un twist malicioso: un WINDOW_UPDATE
con incremento cero, un PRIORITY
con longitud incorrecta, o incluso HEADERS
y DATA
enviados cuando el stream ya estaba cerrado. El servidor, convencido de que se trata de un error interno, se autogenera un RST_STREAM
. Y aquí viene la magia negra: libera el contador de streams concurrentes, lo que le permite aceptar más streams… pero al mismo tiempo sigue procesando en backend la petición original. A ojos del protocolo ya no existe, pero por debajo el CPU y la RAM se siguen consumiendo. Si repites esta jugada miles de veces, el servidor se ahoga en su propio trabajo.python3 CVE-2025-25063.py https://mi-servidor.local --mode myr --streams 200 --json
--mode myr
), y obtienes un log en JSON con los resultados. Si quieres comparar con el ataque de 2023, puedes usar --mode rr
y ver cómo tu servidor maneja Rapid Reset. Una joyita de PoC que debería estar en el toolkit de cualquier red teamer o admin paranoico.En cuanto a impacto real, la lista de afectados es larga. Netty es uno de los frameworks más golpeados: versiones 4.2.3.Final y 4.1.123.Final son vulnerables, y la solución está en migrar ya a 4.2.4.Final o 4.1.124.Final. Apache Tomcat también cayó: si estás en 11.0.9, 10.1.43 o 9.0.107, corres peligro; actualiza mínimo a 11.0.10. Lo mismo ocurre con stacks tan dispares como F5 BIG-IP, gRPC, Varnish, Fastly, SUSE o Zephyr. Incluso Mozilla reportó servicios tocados. Y ojo: CISA ya ha añadido MadeYouReset a su catálogo de vulnerabilidades activamente explotadas, lo que significa que no es solo teoría académica, sino que ya hay gente lanzando estos ataques en el mundo real.
¿Mitigaciones? La respuesta de siempre: parchear, parchear y parchear. Si no puedes hacerlo de inmediato, existen trucos temporales como limitar los streams concurrentes a valores muy bajos, o incluso deshabilitar HTTP/2 por completo hasta que la tormenta pase. Sí, perderás multiplexación y algo de rendimiento, pero evitarás que tu servidor se suicide en directo. También puedes monitorizar patrones más sutiles: resets que provienen del servidor y no del cliente, o picos de CPU que no casan con el tráfico visible. Algunos proveedores como Cloudflare o Google ya aplican defensas automáticas inspiradas en Rapid Reset que también bloquean MadeYouReset, pero si gestionas tu propia infraestructura no deberías confiar solo en eso.
Comentarios
Publicar un comentario