Executive Summary
A critical deserialization vulnerability (CVE-2026-63077) in JetBrains TeamCity enables unauthenticated remote code execution via the agent polling protocol. CISA has added this vulnerability to its Known Exploited Vulnerabilities (KEV) catalog, confirming active exploitation in the wild.
Organizations running TeamCity CI/CD servers are urged to apply vendor patches immediately.
Vulnerability Overview
| Attribute | Value |
|---|---|
| CVE ID | CVE-2026-63077 |
| CVSS Score | Not publicly scored (CISA KEV) |
| Type | Deserialization of Untrusted Data (CWE-502) |
| Attack Vector | Network |
| Privileges Required | None |
| User Interaction | None |
| Component | TeamCity agent polling protocol endpoint |
| Vendor | JetBrains |
| Product | TeamCity |
| CISA KEV | Yes — active exploitation confirmed |
Affected Versions
| Product | Affected | Status |
|---|---|---|
| JetBrains TeamCity | All versions without vendor patch | Patch required |
Apply the vendor-supplied patch immediately. Consult JetBrains security advisories for the exact fixed build number.
Technical Analysis
TeamCity uses an internal binary protocol for build agent polling — agents periodically connect to the server to request new build tasks. The vulnerable endpoint deserializes data sent by polling agents without adequate validation.
The attack flow:
1. Attacker sends crafted serialized object to the agent polling endpoint
2. TeamCity deserializes the payload without allowlist validation
3. Deserialization gadget chain executes attacker-supplied commands
4. Full RCE achieved in the context of the TeamCity server process
5. Attacker gains access to all build pipelines, secrets, and source codeWhy This Is Severe for CI/CD Environments
TeamCity servers are high-value targets because they:
- Hold source code secrets — API keys, signing certificates, cloud credentials
- Have write access to repositories through configured VCS integrations
- Can modify build pipelines to inject malicious artifacts into the software supply chain
- Often run with elevated OS privileges to perform deployments
| Impact | Description |
|---|---|
| Secret Exfiltration | All build parameters, environment variables, tokens exposed |
| Supply Chain Compromise | Build scripts modified to ship backdoored artifacts |
| Repository Access | VCS credentials enable code repository manipulation |
| Lateral Movement | Deployment credentials allow pivot to production infrastructure |
| Persistence | Backdoor injected into build agents across the fleet |
Immediate Remediation
Step 1: Apply the JetBrains Patch
Check your installed TeamCity version and apply the official security update:
# Check running TeamCity version
curl -s http://localhost:8111/app/rest/server | grep -o '"version":"[^"]*"'
# Or check the admin UI
# Administration > Server Administration > Server InfoDownload and apply the patch from the JetBrains security page.
Step 2: Network Isolation
While patching, immediately restrict access to the agent polling port:
# Block external access to TeamCity agent port (default 9090)
iptables -I INPUT -p tcp --dport 9090 ! -s <trusted_agent_cidr> -j DROP
# Or restrict via firewall/security group rules
# Only allow known build agent IP rangesStep 3: Audit for Compromise Indicators
# Check for unexpected processes spawned by TeamCity
ps aux | grep -E "teamcity|java" | grep -v "grep"
# Review TeamCity server logs for anomalous deserialization activity
grep -i "deseri\|ClassLoader\|ObjectInputStream" /path/to/teamcity/logs/teamcity-server.log | tail -100
# Check for new admin accounts
# Administration > Users > filter by recent creation date
# Audit recent builds for unexpected changes
# Build History > filter by date > review build scriptsStep 4: Rotate All Build Secrets
Assume all secrets stored in TeamCity have been compromised:
# Rotate secrets in order of blast radius:
# 1. Cloud provider API keys (AWS, GCP, Azure)
# 2. Code signing certificates
# 3. Container registry credentials
# 4. Deployment SSH keys
# 5. Database connection strings
# 6. Third-party service tokensDetection
| Indicator | Description |
|---|---|
| Unexpected outbound connections from TeamCity server | Post-exploitation C2 callback |
| New admin user accounts in TeamCity | Attacker persistence |
| Modified build configurations | Supply chain tampering |
| Anomalous Java process spawning | Deserialization gadget execution |
| Unexpected files in TeamCity data directory | Dropped payloads or webshells |
| Build logs with unusual network activity | Exfiltration during build |
Workaround (If Immediate Patching Is Not Possible)
- Take TeamCity offline or restrict to VPN/internal access only.
- Block the agent polling port (default: 9090) from all external IP addresses at the network perimeter.
- Disconnect build agents from the internet-facing server until patched.
- Enable detailed audit logging and monitor for anomalous behavior.
References
- CISA Known Exploited Vulnerabilities Catalog
- NVD — CVE-2026-63077
- JetBrains Security Advisories
- CWE-502: Deserialization of Untrusted Data