Unauthenticated RCE in JetBrains TeamCity Agent Polling Protocol
CVE-2026-63077 is an unsafe deserialization vulnerability in JetBrains TeamCity On-Premises releases preceding the applicable fixed versions 2025.11.7 and 2026.1.3. The agent polling protocol processes attacker-controlled XML through handleCommandIsFailedRequest(), Error.fromXml(), and XStreamWrapper.deserializeObject(). Vulnerable implementations apply a TeamCity class allowlist without first clearing XStream's default permissions, leaving broad type hierarchies, including Throwable and Map, eligible for deserialization. An unauthenticated remote attacker can obtain an agent polling session and submit a crafted object graph that triggers arbitrary operating system command execution with the privileges of the TeamCity server process. The vulnerability has a CVSS v3.1 score of 9.8 and has been exploited in the wild, including in ransomware campaigns.
What it means and what to do now: patch path, interim mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
Successful exploitation can compromise the confidentiality, integrity, and availability of the TeamCity server and accessible CI/CD resources. Attackers may steal source code, stored credentials, signing material, cloud secrets, build configurations, and artifacts; modify build outputs or deployment pipelines; and move laterally into connected infrastructure. Compromised publishing or deployment credentials can extend the impact to downstream software consumers and production systems. Service disruption and ransomware deployment are possible, and ransomware campaign use has been confirmed.
If you can’t patch tonight, do this now.
If an immediate upgrade is impractical, install and enable JetBrains' security patch plugin for TeamCity 2017.1 and newer; this plugin addresses only CVE-2026-63077 and is not a substitute for broader security updates. Versions 2017.1 through 2018.1 require a server restart after installation, while versions 2018.2 and newer support activation without restarting. Remove unnecessary internet exposure, restrict HTTP(S) access to trusted networks and build agents, or require VPN access. Run the server with minimum necessary operating system privileges. Monitor for unexpected agent registrations, unauthorized administrator accounts or plugins, unusual command execution, and XStream deserialization exceptions. TeamCity Cloud tenants require no action because protective measures have already been applied.
Patch, then assume compromise.
Upgrade TeamCity On-Premises to version 2025.11.7 or 2026.1.3, as appropriate for the release branch, or a later fixed release. The fix establishes deny-by-default XStream permissions using NoTypePermission.NONE before applying the approved class allowlist. Update all affected instances, including development, test, and backup environments. Patching does not remove an existing compromise: investigate exposed servers, preserve evidence when compromise is suspected, rotate potentially exposed credentials, tokens, keys, and certificates, and assess whether build artifacts or releases were altered.
4 exploits validated by Mallory's analysis. Hidden: 2 rejected by Mallory's analysis as not a working exploit; 1 not yet analyzed, such as Exploit-DB entries.
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
324 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.