/00 — boot sequence

Hello.

Article

CVE-2026-63077: Critical JetBrains TeamCity Unauthenticated RCE via Agent Polling

August 2, 20264 min read
security teamcity cve-2026-63077 rce deserialization ci-cd

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

ProductAffected VersionsFixed Version
TeamCity 2026.x< 2026.1.32026.1.3
TeamCity 2025.x< 2025.11.72025.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.

  1. 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
  2. Upgrade procedure:

    bash
  3. Verify the upgrade:

    • Check Administration → About: version should show 2026.1.3 or 2025.11.7+
    • Confirm no errors in logs/teamcity-server.log during startup
  4. 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.log showing deserialization errors or ClassNotFoundException for 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:

yara

Sigma rule:

yaml

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:

Automated Transmission

This entry was synthesized and populated dynamically using native API integrations.

Resources & Links