← Volver al blog de ciberseguridad

TeamCity CVE-2026-63077: RCE sin autenticar en el servidor que construye tu software

Por Thilina Manana · COO, Director Técnico de Seguridad hard2bit y socio fundador · Publicado: 11 de agosto de 2026 · Actualizado: 11 de agosto de 2026
TeamCity CVE-2026-63077: RCE sin autenticar en el servidor

Un atacante sin credenciales, con solo acceso HTTP(S) al servidor, puede ejecutar comandos del sistema operativo en una instalación de JetBrains TeamCity On-Premises. Es CVE-2026-63077, un fallo de gravedad 9,8 sobre 10 que no pide usuario, contraseña ni interacción de nadie. Y no cae en un servidor cualquiera: cae en la máquina que compila, firma y despliega tu software.

JetBrains lo parcheó el 27 de julio de 2026, tras un aviso privado y coordinado. La explotación vino después, contra servidores que no habían actualizado, y fue suficiente para que CISA lo llevara a su catálogo KEV de vulnerabilidades explotadas. Ese orden —parche primero, ataques después— cambia cómo hay que leer el caso.

Este artículo explica, en clave defensiva, qué se puede explotar y desde cuándo, por qué un servidor de build es un objetivo tan codiciado, cómo detectar señales de compromiso y cómo cerrar la puerta. No incluye código de explotación.

¿Qué es CVE-2026-63077 y por qué es crítico?

El fallo es una deserialización de datos no confiables —CWE-502— en el protocolo de sondeo de agentes de TeamCity, la conversación que el servidor mantiene con las máquinas que ejecutan las compilaciones. Ese canal procesa objetos serializados con la biblioteca XStream, y una petición manipulada permite que el servidor reconstruya y ejecute lógica elegida por el atacante. El resultado es ejecución remota de código sin autenticar, con los privilegios del propio proceso de TeamCity.

Afecta a todas las versiones de TeamCity On-Premises anteriores a las correcciones. La modalidad gestionada por el fabricante queda al margen, porque es JetBrains quien administra y actualiza ese servidor; el riesgo recae en quien opera su propia instancia. Con CVSS 9,8, sin requisito de autenticación y con un objetivo de alto valor detrás, es una prioridad de parcheo inmediata.

La cronología: parche primero, explotación después

La secuencia importa. El 27 de julio JetBrains publicó las versiones corregidas —2026.1.3 y 2025.11.7— después de recibir el aviso por un canal privado. El 28 de julio la cobertura especializada ya recogía el parche. En los días siguientes aparecieron intentos de explotación contra instancias sin actualizar, y el 5 de agosto CISA añadió la vulnerabilidad al KEV —elevando su evaluación de explotación de «ninguna» a «activa»—, con fecha límite de corrección para las agencias federales el 8 de agosto.

Esa cronología reequilibra el caso. No fue un zero-day explotado antes de existir defensa: hubo divulgación coordinada, parche disponible y una ventana para aplicarlo. Lo que empujó la vulnerabilidad al KEV no fue la ausencia de arreglo, sino la cantidad de instancias que seguían sin él. La lección se repite: la ventana entre el parche y la explotación se mide en días, no en semanas.

Cómo funciona, a nivel conceptual

El análisis técnico de Rapid7 describe la causa sin necesidad de convertirla en receta. Al atender las peticiones no autenticadas de los agentes, el servidor construía una lista de permitidos de XStream para restringir qué clases Java podían deserializarse; lo que falla es que añadía las clases del protocolo de TeamCity sin retirar antes los permisos por defecto de la biblioteca. Esa lista, pensada para ser restrictiva, dejaba un resquicio suficiente para encadenar objetos hasta lograr ejecución.

La corrección es tan reveladora como el fallo: la versión parcheada antepone una regla de «no permitir nada» antes de la lista, de modo que solo se admita lo explícitamente autorizado. Es el patrón recurrente de la deserialización insegura —una lista de permitidos que no parte de denegar por defecto—, el mismo terreno conceptual que vimos en el zero-day de Fastjson. No es un descuido exótico de un fabricante concreto, sino una trampa conocida de todo el que procesa objetos serializados que llegan de fuera.

Por eso el desglose técnico se detiene aquí, en el «qué lo permite» y no en el «cómo se arma»: el detalle de la cadena de gadgets pertenece al terreno de la investigación de defensa, no al de una guía reproducible.

¿Por qué un servidor de build es un objetivo de alto valor?

Un servidor de integración y entrega continua no es un servidor más. Es el punto donde convergen las credenciales de despliegue, los secretos de acceso a producción, las claves de firma de artefactos, el código fuente y los registros de artefactos. Quien controla esa máquina no solo entra en un sistema: hereda las llaves de toda la línea de montaje del software.

De ahí que el impacto sea de cadena de suministro. Un compromiso del CI/CD permite inyectar código en las compilaciones que después se distribuyen a clientes y a otros sistemas internos, firmar artefactos maliciosos como si fueran legítimos o robar los secretos que abren producción. Es la misma lógica que convirtió un paquete olvidado en un problema de cientos de proyectos en el ataque a la cadena de npm easy-day-js, solo que aquí el punto de entrada es la propia infraestructura de construcción.

¿Cómo detectar una explotación?

Como el vector es una petición al canal de agentes, la detección se concentra en el comportamiento del servidor tras recibirla. Estas son las señales que merece la pena cazar, correlacionadas y no por separado.

La más directa es la aparición de procesos hijo inesperados que cuelgan del proceso de TeamCity: un servidor de build que de pronto abre un intérprete de comandos o herramientas de red es una anomalía que rara vez tiene explicación benigna. A su lado, hay que vigilar las conexiones salientes hacia destinos desconocidos —posible C2—, la creación de usuarios administradores o tokens de acceso nuevos, y cambios no justificados en configuraciones y scripts de compilación.

Dado que el parche es del 27 de julio, cualquier revisión retrospectiva debería cubrir desde esa fecha: peticiones anómalas al canal de sondeo de agentes desde orígenes no autenticados, ficheros nuevos en el servidor y artefactos alterados. Convertir estos indicadores de compromiso en cacerías reproducibles —y revisar el histórico en busca de esa actividad— es justo el trabajo de un equipo de caza de amenazas como el de Hard2bit Cybersecurity.

Parcheo, mitigación y contención

La acción principal es actualizar a TeamCity 2026.1.3 o 2025.11.7. Para quien no pueda hacerlo de inmediato, JetBrains ofrece un parche de seguridad provisional en forma de plugin que cubre las versiones 2017.1 y posteriores; las ramas entre 2017.1 y 2018.1 requieren reiniciar el servidor tras instalarlo, mientras que 2018.2 y siguientes lo aplican sin reinicio. Es una red temporal, no un sustituto de la actualización.

Más allá del parche, un servidor de build no debería estar expuesto a Internet. Reducir su superficie de ataque y segmentarlo del resto de la red limita quién puede siquiera hablar con el canal de agentes, y el bastionado del sistema y una cuenta de servicio con privilegios mínimos acotan el daño si algo entra. Estas medidas encajan en un programa de gestión de vulnerabilidades que priorice por explotación real, como plantean los marcos KEV, EPSS y SSVC, y en una práctica de DevSecOps que trate la cadena de construcción del software como un activo crítico. Es el enfoque con el que Hard2bit —desde 2013, con ENS categoría ALTA e ISO 27001 propias— aborda la exposición del CI/CD: priorizar por explotación real y reducir lo que el atacante puede alcanzar.

Si el servidor estuvo expuesto y sin parchear durante la ventana de explotación, la prudencia obliga a asumir compromiso: rotar todas las credenciales, secretos y claves de firma que custodiaba, revisar las compilaciones recientes en busca de manipulación y activar la respuesta a incidentes que Hard2bit presta para escenarios de cuenta o servidor comprometido. Con un servidor de build, restaurar el servicio no basta; hay que dar por quemado lo que guardaba.

Qué vigilar los próximos días

El riesgo inmediato no es el fallo en sí, que tiene parche, sino el número de servidores TeamCity que siguen sin aplicarlo y expuestos. A medida que se generalice la explotación, esas instancias serán el objetivo. Y merece atención el patrón de fondo: la deserialización insegura en protocolos de gestión y de agentes se repite producto tras producto, porque el canal que da servicio a componentes internos suele recibir menos escrutinio que la interfaz de usuario.

Queda una incógnita razonable: los detalles de la actividad observada en circulación aún se están perfilando y las atribuciones pueden cambiar. La prioridad, en cambio, no admite duda: un servidor que construye software merece la misma protección que producción, empezando por no dejarlo al alcance de cualquiera que sepa su dirección.

Este artículo describe una vulnerabilidad con explotación activa a partir de fuentes públicas disponibles en la fecha de publicación, con fines defensivos. No incluye código de explotación ni pasos reproducibles. La causa técnica se explica a nivel conceptual siguiendo el análisis del fabricante y de terceros; las versiones, fechas y recomendaciones deben verificarse contra los avisos oficiales de JetBrains y de CISA antes de actuar.

Preguntas frecuentes

¿Qué es CVE-2026-63077?

Es una vulnerabilidad crítica de deserialización de datos no confiables (CWE-502) en el protocolo de sondeo de agentes de JetBrains TeamCity On-Premises. Permite a un atacante sin autenticar, con acceso HTTP(S) al servidor, ejecutar comandos del sistema operativo con los privilegios del proceso de TeamCity. Su puntuación CVSS es 9,8 sobre 10.

¿Estoy afectado si uso TeamCity?

Si operas tu propia instancia de TeamCity On-Premises en una versión anterior a 2026.1.3 o 2025.11.7, sí. JetBrains indica que todas las versiones On-Premises publicadas antes de esas correcciones están afectadas. La modalidad gestionada por el fabricante queda fuera del alcance de esta acción, porque es JetBrains quien administra y actualiza el servidor.

¿Qué versiones corrigen la vulnerabilidad?

Las versiones corregidas son TeamCity 2026.1.3 (build 222742) y 2025.11.7 (build 208264). Actualizar a una de ellas es la medida principal. La corrección endurece la deserialización para que solo se admitan las clases explícitamente autorizadas.

¿Qué hago si no puedo actualizar de inmediato?

JetBrains publicó un parche de seguridad provisional en forma de plugin que cubre las versiones 2017.1 y posteriores. Las ramas entre 2017.1 y 2018.1 requieren reiniciar el servidor tras instalarlo; 2018.2 y posteriores lo aplican sin reinicio. Es una mitigación temporal: la actualización a una versión corregida sigue siendo necesaria.

¿Se está explotando de verdad?

Sí. Tras la publicación del parche el 27 de julio de 2026 aparecieron intentos de explotación contra servidores sin actualizar, y el 5 de agosto CISA añadió la vulnerabilidad a su catálogo KEV, moviendo la evaluación de explotación de «ninguna» a «activa». La fecha límite de corrección para las agencias federales de EE. UU. se fijó en el 8 de agosto.

¿Por qué es tan grave que caiga un servidor de build?

Porque un servidor de integración y entrega continua concentra credenciales de despliegue, secretos de producción, claves de firma y acceso al código. Un atacante que lo controla puede robar esos secretos, inyectar código en las compilaciones y firmar artefactos maliciosos como legítimos, convirtiendo el incidente en un problema de cadena de suministro que llega a clientes y otros sistemas.

¿Cómo detecto si mi servidor ha sido comprometido?

Busca procesos hijo inesperados lanzados por el proceso de TeamCity (shells, intérpretes, utilidades de red), conexiones salientes a destinos desconocidos, usuarios administradores o tokens nuevos, y cambios no justificados en configuraciones y scripts de compilación. La revisión debería cubrir desde el 27 de julio de 2026. Si el servidor estuvo expuesto y sin parchear, asume compromiso y rota credenciales y claves.

¿Quieres saber cuál es tu exposición real y qué corregir primero?

Treinta minutos con un consultor técnico —no un comercial— bastan para ordenar el problema: qué está expuesto hoy, qué se corrige esta semana, qué puede esperar y cuánto cuesta cada tramo. Pentesting, auditoría de ciberseguridad, gestión de vulnerabilidades, Microsoft 365, SOC/MDR y respuesta a incidentes.

Si tu situación es distinta, plantéanosla igualmente: también atendemos consultas puntuales de ciberseguridad y cumplimiento normativo.

Empresa española de ciberseguridad · ENS categoría ALTA · ISO 27001 · Normalmente respondemos en menos de 24h laborables