Zero-day en ASP.NET Core: la vulnerabilidad más grave de Microsoft hasta la fecha
Microsoft acaba de enfrentarse a lo que podríamos llamar un «momento incómodo» en su historial de seguridad. Durante el Patch Tuesday de octubre, la compañía reveló una vulnerabilidad crítica en ASP.NET Core con una puntuación CVSS de 9.9 sobre 10. No es una errata: estamos hablando del problema de seguridad más grave que ha afectado jamás a esta plataforma, según confirmó Barry Dorrans, responsable del programa de seguridad de .NET.
¿Qué es exactamente esta vulnerabilidad?
Catalogada como CVE-2025-55315, esta vulnerabilidad permite lo que técnicamente se conoce como «HTTP request smuggling» (contrabando de peticiones HTTP). Suena a jerga técnica, pero la realidad es preocupantemente simple: un atacante puede esconder una petición HTTP dentro de otra para engañar al servidor.
El problema se encuentra específicamente en Kestrel, el servidor web integrado en ASP.NET Core. Y no, no es un componente menor que puedas ignorar – es el corazón que procesa las peticiones web en este framework.
Impacto real: más allá del número CVSS
Una puntuación de 9.9 ya da miedo de por sí, pero ¿qué significa esto en la práctica? Según Microsoft, un atacante que explote esta vulnerabilidad podría:
- Secuestrar credenciales de otros usuarios
- Filtrar información sensible
- Alterar archivos en el servidor
- Provocar una denegación de servicio (DoS)
- Eludir verificaciones CSRF (falsificación de petición en sitios cruzados)
- Iniciar sesión como otro usuario
Como me comentaba un colega administrador de sistemas la semana pasada: «Es como si alguien pudiera entrar por la puerta principal fingiendo ser el cartero, y una vez dentro, abrir todas las habitaciones».
El matiz importante: no todas las aplicaciones son igualmente vulnerables
Barry Dorrans aclaró un punto crucial que merece atención. El impacto real varía enormemente según cómo esté construida cada aplicación. Las más expuestas son aquellas que:
- Realizan autenticación basada en reglas específicas
- Ejecutan acciones que implican solicitudes web
- Manejan privilegios de usuario
Para ser justos, Dorrans también señaló que escenarios de explotación graves como elevación de privilegios son «probablemente improbables, a menos que el código de la aplicación esté haciendo algo extraño y omita verificaciones que debería realizar en cada solicitud».
Pero claro, en el mundo del desarrollo… ¿cuántas aplicaciones tienen código perfecto? Exacto.
Cómo funciona técnicamente el ataque
Para entender mejor el problema, pensemos en cómo funciona normalmente una petición HTTP. El servidor lee la cabecera, determina dónde termina la petición, y luego procesa el contenido. Lo que ocurre con esta vulnerabilidad es que el atacante puede manipular las cabeceras para que el servidor interprete incorrectamente dónde termina una petición y comienza otra.
Es similar a cuando alguien te distrae con una pregunta mientras discretamente está haciendo otra cosa. El servidor está tan ocupado procesando la petición «visible» que no se da cuenta de que hay otra «escondida» que se cuela sin las verificaciones de seguridad habituales.
¿Quién está afectado?
La lista de software vulnerable incluye:
- Microsoft Visual Studio 2022 (versiones 17.14, 17.12 y 17.10)
- ASP.NET Core (versiones 2.3, 8.0, 9.0 y 10.0 RC1)
- Microsoft.AspNetCore.Server.Kestrel.Core (cualquier versión anterior a 2.3.6)
Si estás usando cualquiera de estos productos, necesitas actualizar inmediatamente. No es uno de esos parches que puedes dejar para «cuando tenga tiempo» – este es de los que justifican una noche de trabajo extra.
¿Cómo protegerte?
La solución, por suerte, es directa:
- Actualiza a las últimas versiones disponibles que Microsoft ha lanzado específicamente para solucionar este problema
- Si usas Microsoft.AspNetCore.Server.Kestrel.Core, asegúrate de actualizar a la versión 2.3.6 o posterior
- Revisa tus logs en busca de patrones inusuales que podrían indicar intentos de explotación
Para aquellos que no pueden actualizar inmediatamente (aunque insisto: deberían), implementar un Web Application Firewall (WAF) correctamente configurado podría proporcionar cierta protección temporal.
Contexto: un problema más amplio
Esta vulnerabilidad no surge en el vacío. Los ataques de HTTP request smuggling llevan años siendo una preocupación en la comunidad de seguridad. Sin embargo, ver uno con un CVSS tan alto en un framework tan utilizado como ASP.NET Core muestra que incluso las tecnologías más maduras pueden contener fallos críticos.
Y no, no es casualidad que aparezca ahora. El aumento de arquitecturas distribuidas, con múltiples capas de proxies y balanceadores, ha multiplicado la superficie de ataque para este tipo de vulnerabilidades.
Lo más irónico es que ASP.NET Core fue diseñado en parte para mejorar la seguridad respecto a versiones anteriores. Como suele ocurrir en ciberseguridad, a veces la solución introduce sus propios problemas.
¿Zero-day o no?
Técnicamente, este no es un zero-day en el sentido estricto, ya que Microsoft pudo parchearlo antes de que se explotara públicamente (hasta donde sabemos). Sin embargo, la gravedad y el impacto potencial lo sitúan en una categoría que merece la misma atención urgente.
En mi experiencia, las vulnerabilidades con puntuaciones tan altas suelen tardar poco en ser explotadas una vez se hacen públicas. Los actores maliciosos ya estarán analizando el parche para ingeniería inversa y desarrollar exploits.
La carrera ha comenzado: o actualizas o te expones.

