Skip to main content
Vulnerability Database/CVE-2025-54534

CVE-2025-54534: JetBrains TeamCity XSS Vulnerability

CVE-2025-54534 is a reflected cross-site scripting flaw in JetBrains TeamCity affecting the agentpushPreset page. Attackers can inject malicious scripts to compromise user sessions. This article covers technical details, affected versions, security impact, and mitigation strategies.

Published:

CVE-2025-54534 Overview

CVE-2025-54534 is a reflected cross-site scripting (XSS) vulnerability [CWE-79] in JetBrains TeamCity versions before 2025.07. The flaw resides in the agentpushPreset page, where unsanitized input is reflected back to the user's browser. An authenticated attacker with high privileges can craft a malicious URL that executes arbitrary JavaScript in a victim's session when the link is visited. Exploitation requires user interaction and changes the security scope, enabling the attacker to influence resources beyond the vulnerable component. JetBrains addressed the issue in TeamCity 2025.07.

Critical Impact

Successful exploitation allows attackers to execute arbitrary scripts in victims' browsers, potentially leading to session theft, defacement, or unauthorized actions within TeamCity.

Affected Products

  • JetBrains TeamCity versions prior to 2025.07
  • TeamCity on-premises CI/CD server deployments
  • TeamCity instances exposing the agentpushPreset administrative page

Discovery Timeline

  • 2025-07-28 - CVE-2025-54534 published to the National Vulnerability Database (NVD)
  • 2026-06-17 - Last updated in NVD database

Technical Details for CVE-2025-54534

Vulnerability Analysis

The vulnerability is a reflected XSS flaw in the agentpushPreset page of JetBrains TeamCity. The application accepts user-supplied parameters and renders them back into the HTTP response without sufficient output encoding. When an attacker-controlled payload reaches the response body, the victim's browser interprets the injected content as executable script.

The scope change in the vector string indicates that script execution in the vulnerable page can affect resources outside the original security authority. Attackers can leverage this to pivot into other TeamCity contexts, including project configurations, build parameters, or administrative panels accessible to the victim.

Because TeamCity orchestrates continuous integration pipelines, a successful XSS attack can expose source code secrets, build agent tokens, and deployment credentials rendered in the authenticated user's session.

Root Cause

The root cause is improper neutralization of input during web page generation [CWE-79]. The agentpushPreset handler reflects request parameters into HTML without context-aware escaping. Standard defenses such as HTML entity encoding, attribute encoding, or a strict Content Security Policy (CSP) were insufficient or absent for this endpoint.

Attack Vector

Exploitation requires an authenticated attacker with elevated privileges to craft a URL containing a malicious payload targeting the agentpushPreset page. The attacker delivers the link to a privileged TeamCity user through phishing, chat, or an internal message. When the victim opens the URL in an authenticated session, the injected script executes in the browser under the TeamCity origin. The attacker can then exfiltrate cookies, issue API requests on the victim's behalf, or manipulate build configurations.

No verified public proof-of-concept exploit is available. Refer to the JetBrains Security Issues Fixed page for vendor-published remediation details.

Detection Methods for CVE-2025-54534

Indicators of Compromise

  • HTTP requests to /agentpushPreset containing suspicious payload characters such as <script>, javascript:, onerror=, or encoded variants
  • Unexpected outbound requests from TeamCity administrator browsers to attacker-controlled domains shortly after visiting internal URLs
  • Audit log entries showing unauthorized configuration changes initiated from administrator sessions

Detection Strategies

  • Inspect TeamCity web server access logs for requests to agentpushPreset that include URL-encoded script tags or event handler attributes
  • Deploy a web application firewall (WAF) rule to flag reflected XSS payload patterns targeting TeamCity endpoints
  • Review TeamCity audit trails for configuration or agent changes made through authenticated administrator sessions near the time of suspicious URL access

Monitoring Recommendations

  • Enable verbose HTTP request logging on the TeamCity reverse proxy and forward logs to a centralized SIEM for correlation
  • Alert on anomalous referrer chains where TeamCity administrators arrive at agentpushPreset from external sources such as email or chat links
  • Monitor browser-side CSP violation reports if a report-only policy is deployed in front of TeamCity

How to Mitigate CVE-2025-54534

Immediate Actions Required

  • Upgrade all TeamCity instances to version 2025.07 or later as published by JetBrains
  • Restrict access to the TeamCity administrative interface to trusted networks or VPN-only reachability
  • Rotate TeamCity administrator credentials and API tokens if suspicious access to agentpushPreset is identified in logs

Patch Information

JetBrains fixed CVE-2025-54534 in TeamCity 2025.07. Review the official JetBrains Security Issues Fixed advisory for release notes and upgrade guidance. Apply the vendor patch rather than relying on compensating controls alone.

Workarounds

  • Place TeamCity behind a WAF configured with reflected XSS signatures until upgrades are completed
  • Enforce a strict Content Security Policy at the reverse proxy to limit inline script execution within the TeamCity origin
  • Train administrators to avoid clicking unsolicited links referencing TeamCity administrative pages such as agentpushPreset
bash
# Example NGINX reverse proxy header enforcing a restrictive CSP for TeamCity
add_header Content-Security-Policy "default-src 'self'; script-src 'self'; object-src 'none'; base-uri 'self'; frame-ancestors 'self'" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.