CVE-2026-63077: Critical JetBrains TeamCity Unauthenticated RCE via Agent Polling Protocol
A critical unauthenticated remote code execution vulnerability in JetBrains TeamCity (CVE-2026-63077, CVSS 9.8) allows attackers to achieve full server compromise through the build agent polling protocol. The flaw affects all TeamCity versions before 2026.1.3 and 2025.11.7. Upgrade immediately.
Vulnerability Details
CVE-2026-63077 is a deserialization vulnerability (CWE-502) in TeamCity's agent polling protocol. The JetBrains security advisory tracks it as TW-102164. The vulnerability received a CVSS 3.1 base score of 9.8 (Critical) with vector AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H, meaning it is network-exploitable, requires no privileges, no user interaction, and results in complete confidentiality, integrity, and availability loss.
The root cause: TeamCity's build agent polling endpoint accepts serialized Java objects without adequate validation. An unauthenticated attacker can send a malicious serialized payload that, when deserialized by the TeamCity server, executes arbitrary code with the server's privileges.
Impact Assessment
What is at risk:
- Full remote code execution on the TeamCity server as the service account (often SYSTEM or root)
- Theft of build secrets, API tokens, SSH keys, and cloud credentials stored in TeamCity
- Supply chain compromise: malicious artifact injection into build pipelines
- Lateral movement to connected build agents and infrastructure
- Persistence via modified build configurations or agent scripts
Who is affected: Any organization running TeamCity On-Premises versions prior to 2026.1.3 (2026.x line) or 2025.11.7 (2025.x line). TeamCity Cloud is not affected: JetBrains patched the hosted service before public disclosure.
Affected Systems
| Product | Affected Versions | Fixed Version |
|---|---|---|
| TeamCity 2026.x | < 2026.1.3 | 2026.1.3 |
| TeamCity 2025.x | < 2025.11.7 | 2025.11.7 |
The vulnerability exists in the agent polling protocol handler, which is enabled by default on all TeamCity servers. No specific configuration is required for exploitation: any server accepting agent connections is vulnerable.
Mitigation & Patching
Immediate action required: Upgrade to a patched version.
-
Download the fix:
- TeamCity 2026.1.3:
https://www.jetbrains.com/teamcity/download/ - TeamCity 2025.11.7: Available from the same download page under previous releases
- TeamCity 2026.1.3:
-
Upgrade procedure:
bash -
Verify the upgrade:
- Check Administration → About: version should show 2026.1.3 or 2025.11.7+
- Confirm no errors in
logs/teamcity-server.logduring startup
-
Rotate secrets: After patching, rotate all build parameters, tokens, SSH keys, and cloud credentials that were accessible to the TeamCity server. Assume compromise if you were unpatched.
Workaround (if immediate upgrade impossible):
- Block external access to the TeamCity server port (default 8111) at the network perimeter
- Restrict agent connections to known IP ranges only
- Note: This does not mitigate insider threats or compromised agents
Detection
Network indicators:
- Unexpected serialized Java object traffic to TeamCity port (default 8111)
- Connections from unknown IPs to the agent polling endpoint (
/app/rest/agents/poll)
Log indicators:
teamcity-server.logshowing deserialization errors orClassNotFoundExceptionfor unusual classes- Build agent registration from unknown hosts
Suricata rule:
alert tcp any any -> $HOME_NET 8111 (msg:"CVE-2026-63077 TeamCity Agent Polling Deserialization Attempt"; flow:to_server,established; content:"application/x-java-serialized-object"; http_header; sid:1000001; rev:1;)
YARA rule:
Sigma rule:
Frequently Asked Questions
Q: Does this affect TeamCity Cloud? A: No. JetBrains confirmed TeamCity Cloud was patched before public disclosure. Only On-Premises installations are affected.
Q: Can I disable the agent polling protocol as a workaround? A: The agent polling protocol is core to TeamCity's agent-server communication. Disabling it would break build agent functionality. Network-level restriction is the only viable workaround.
Q: How quickly can this be exploited? A: Public proof-of-concept code has not been released as of this writing, but the vulnerability is straightforward for attackers familiar with Java deserialization gadgets (e.g., ysoserial). Assume exploitation is imminent.
Q: What if I'm on TeamCity 2024.x or older? A: Versions prior to 2025.x are end-of-life and no longer receive security updates. You must upgrade to a supported release line (2025.11.7+ or 2026.1.3+).
Q: Are build agents also vulnerable? A: The vulnerability is in the server's handling of agent polling requests. Build agents themselves are not directly affected, but a compromised server can push malicious configurations to agents.
Q: Has this been exploited in the wild? A: As of July 27, 2026, CISA SSVC assessment shows exploitation status as "none" (no confirmed exploitation). However, the vulnerability is trivially exploitable once a PoC exists: patch immediately.
Key Takeaways
- CVE-2026-63077 is a critical unauthenticated RCE in TeamCity via Java deserialization in the agent polling protocol
- CVSS 9.8: maximum severity for a network-accessible, no-auth vulnerability
- Affected: All TeamCity On-Premises < 2026.1.3 and < 2025.11.7
- Action: Upgrade immediately to 2026.1.3 or 2025.11.7
- Post-patch: Rotate all secrets, audit build logs for suspicious activity
- Detection: Monitor for Java serialized objects on TeamCity port 8111
Sources:
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-63077
- JetBrains Security Advisory: https://www.jetbrains.com/privacy-security/issues-fixed/
- CISA SSVC Assessment: CVE-2026-63077 (exploitation: none, automatable: yes, technical impact: total)
Automated Transmission
This entry was synthesized and populated dynamically using native API integrations.