/00 — boot sequence

Hello.

Article

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

July 30, 2026•6 min read
security cve-2026-63077 teamcity jetbrains ci-cd remote-code-execution

Introduction

A critical unauthenticated remote code execution vulnerability has been disclosed in JetBrains TeamCity, the popular continuous integration and continuous deployment (CI/CD) server. Tracked as CVE-2026-63077 with a CVSS 3.1 score of 9.8 (Critical), this flaw allows attackers to execute arbitrary code on affected TeamCity servers without any authentication. The vulnerability was publicly disclosed on July 27, 2026, and affects all TeamCity on-premises versions prior to 2026.1.3 and 2025.11.7.

For development teams relying on TeamCity for build automation, this vulnerability represents a severe supply chain risk. A compromised CI/CD server can inject malicious code into production builds, steal credentials, and pivot to connected infrastructure.

Vulnerability Details

Technical Overview

  • CVE ID: CVE-2026-63077
  • CVSS 3.1 Score: 9.8 (Critical): AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • CVSS 4.0: Assessment pending (NVD enrichment in progress)
  • CWE: CWE-502: Deserialization of Untrusted Data
  • Affected Component: TeamCity server agent polling protocol
  • Attack Vector: Network (unauthenticated)
  • Complexity: Low
  • Privileges Required: None
  • User Interaction: None

Root Cause

The vulnerability exists in the agent polling protocol -- the communication channel between TeamCity build agents and the TeamCity server. Build agents periodically poll the server for commands, build configurations, and updates. The server deserializes incoming data from agents without proper validation, allowing an attacker to send a crafted serialized Java object that triggers arbitrary code execution during deserialization.

This is a classic Java deserialization vulnerability (often called "Java deserialization gadget chain" exploitation). The attacker does not need valid agent credentials -- the polling endpoint accepts connections from any network source that can reach the TeamCity server port (default 8111).

Affected Versions

ProductAffected VersionsFixed Version
TeamCity 2026.x< 2026.1.32026.1.3
TeamCity 2025.x< 2025.11.72025.11.7
TeamCity CloudNot affected (auto-updated)N/A

TeamCity Cloud instances are not affected -- JetBrains automatically applies security updates to cloud-hosted instances.

Impact Assessment

What Is at Risk

  1. Full Server Compromise: Attackers gain remote code execution as the TeamCity service account (often SYSTEM on Windows, root or dedicated user on Linux).

  2. CI/CD Pipeline Hijacking: Malicious actors can modify build configurations, inject code into artifacts, or alter deployment scripts -- affecting every downstream consumer of the pipeline.

  3. Credential Theft: TeamCity stores sensitive credentials for VCS repositories, artifact repositories, cloud providers, and deployment targets. All are accessible to an attacker with server access.

  4. Supply Chain Attacks: Compromised build artifacts can propagate to production environments, customers, and downstream dependencies -- a classic software supply chain attack vector.

  5. Lateral Movement: The TeamCity server often has network access to source control systems, artifact registries, Kubernetes clusters, and cloud management APIs.

Who Needs to Act

  • All organizations running TeamCity on-premises on versions before 2026.1.3 or 2025.11.7
  • DevOps teams managing build infrastructure
  • Security teams responsible for vulnerability management
  • Software supply chain auditors verifying build integrity

Affected Systems

TeamCity is widely used across industries for Java, .NET, Python, Go, and mobile application builds. Typical deployment patterns include:

  • Self-hosted on Windows Server (common in .NET shops)
  • Self-hosted on Linux (Docker, bare metal, VMs)
  • Kubernetes deployments via Helm charts or Operators
  • High-availability setups with multiple server nodes

Check your version immediately: Log into the TeamCity web UI (version shown in footer) or query the REST API:

bash

Mitigation & Patching

Primary Fix: Upgrade Immediately

There are no workarounds. The agent polling protocol is fundamental to TeamCity operation -- disabling it breaks all build functionality. The only effective mitigation is upgrading to a patched version.

Current VersionUpgrade ToDownload
2026.x (< 2026.1.3)2026.1.3+jetbrains.com/teamcity/download
2025.x (< 2025.11.7)2025.11.7+jetbrains.com/teamcity/download
2024.x or older2025.11.7 or 2026.1.3Full upgrade required

Upgrade steps:

  1. Backup TeamCity data directory and database
  2. Download the patched installer for your platform
  3. Run the installer -- it performs an in-place upgrade preserving data
  4. Verify the new version in the UI footer
  5. Confirm all build agents reconnect successfully

Temporary Network Mitigation (If Upgrade Delayed)

If immediate upgrade is impossible, restrict network access to the TeamCity server port (default 8111) to only known build agent IP addresses using host firewall or network ACLs:

bash

This is a temporary measure only -- it does not fix the vulnerability and may break legitimate agent connections if IPs change.

Detection

Indicators of Compromise

Monitor for these signs of exploitation:

  1. Unknown build agents appearing in the TeamCity UI
  2. Unexpected build configuration changes (new steps, modified scripts, altered artifact paths)
  3. Deserialization errors in teamcity-server.log: ERROR - jetbrains.buildServer.AGENT_POLLING - Failed to deserialize agent request java.io.InvalidClassException: org.apache.commons.collections.functors.InvokerTransformer
  4. Unusual outbound connections from the TeamCity server to unknown IPs
  5. Modified build artifacts with unexpected checksums or signatures

Log Sources to Review

  • logs/teamcity-server.log -- main server log
  • logs/teamcity-vcs.log -- VCS operations (credential access)
  • logs/teamcity-build.log -- build execution anomalies
  • logs/teamcity-agent.log on each agent -- connection anomalies

Detection Rules

YARA rule for deserialization payloads:

yaml

Suricata rule:

alert http any any -> $HOME_NET 8111 (msg:"ET EXPLOIT TeamCity CVE-2026-63077 Agent Polling Deserialization Attempt"; flow:to_server,established; content:"agentPolling"; http_uri; content:"|ac ed 00 05|"; offset:0; depth:4; classtype:attempted-admin; sid:202663077; rev:1; metadata:cve CVE-2026-63077;)

Sigma rule (for SIEM):

yaml

Frequently Asked Questions

Q: Does this affect TeamCity Cloud? A: No. JetBrains automatically updates TeamCity Cloud instances. Only on-premises installations require manual upgrading.

Q: Can I disable the agent polling protocol as a workaround? A: No. The agent polling protocol is essential for build agent communication. Disabling it breaks all build functionality.

Q: Is there a proof-of-concept exploit available? A: As of July 29, 2026, no public PoC has been released. However, given the CVSS 9.8 score and the well-understood nature of Java deserialization vulnerabilities, exploit development is trivial for skilled attackers. Assume exploitation is imminent.

Q: How do I check my TeamCity version? A: Log into the TeamCity web UI -- the version is displayed in the footer. Alternatively, query the REST API:

bash

Q: What if I cannot upgrade immediately? A: If immediate upgrade is impossible, restrict network access to the TeamCity server port (8111 by default) to only trusted build agent IPs using firewall rules. This is a temporary mitigation only -- upgrade as soon as possible.

Q: Does this affect build agents? A: The vulnerability is in the TeamCity server's handling of the agent polling protocol. Build agents themselves are not directly vulnerable, but a compromised server can push malicious configurations to agents.

Q: What about older TeamCity versions (2024.x and earlier)? A: All versions prior to 2025.11.7 are affected. Upgrade directly to 2025.11.7 or 2026.1.3 -- there is no intermediate patch for older branches.

Key Takeaways

  • CVE-2026-63077 is a critical unauthenticated RCE in JetBrains TeamCity (CVSS 9.8)
  • Root cause: Unsafe deserialization in the agent polling protocol (CWE-502)
  • Affected: All TeamCity on-premises versions before 2026.1.3 and 2025.11.7
  • No workarounds: Immediate upgrade is the only effective mitigation
  • Supply chain risk: TeamCity compromise = CI/CD pipeline compromise = potential software supply chain attack
  • Detection: Monitor for unknown agent connections, unusual builds, and deserialization errors in logs
  • Patch now: Download from jetbrains.com/teamcity/download and follow the upgrade guide

Sources:

Automated Transmission

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

Resources & Links