CVE-2025-47853

4.8 MEDIUM

📋 TL;DR

This vulnerability allows attackers to inject malicious scripts into JetBrains TeamCity's Jira integration interface, which are then stored and executed when other users view the affected pages. It affects all TeamCity instances running versions before 2025.03.2 with Jira integration enabled.

💻 Affected Systems

Products:
  • JetBrains TeamCity
Versions: All versions before 2025.03.2
Operating Systems: All supported platforms
Default Config Vulnerable: ⚠️ Yes
Notes: Requires Jira integration to be configured and used. The vulnerability exists in how TeamCity handles user input in Jira-related fields.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal session cookies, perform actions as authenticated users, or redirect users to malicious sites, potentially leading to account compromise or data theft.

🟠

Likely Case

Attackers with access to Jira integration fields could inject scripts that execute in victims' browsers, potentially stealing session tokens or performing unauthorized actions.

🟢

If Mitigated

With proper input validation and output encoding, the scripts would be rendered harmless as text rather than executable code.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires access to modify Jira integration fields, typically requiring some level of authenticated access. The XSS payload would execute in the context of other users viewing the affected content.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2025.03.2 or later

Vendor Advisory: https://www.jetbrains.com/privacy-security/issues-fixed/

Restart Required: Yes

Instructions:

1. Backup your TeamCity instance. 2. Download TeamCity 2025.03.2 or later from the JetBrains website. 3. Follow the TeamCity upgrade documentation for your specific deployment method. 4. Restart the TeamCity service after upgrade.

🔧 Temporary Workarounds

Disable Jira Integration

all

Temporarily disable Jira integration to prevent exploitation while planning upgrade

Navigate to Administration > Integrations > Jira and disable the integration

Implement WAF Rules

all

Configure web application firewall to block common XSS payloads in Jira-related requests

Configure WAF rules to filter <script>, javascript:, and other XSS indicators in POST/PUT requests to TeamCity Jira endpoints

🧯 If You Can't Patch

  • Implement strict Content Security Policy (CSP) headers to limit script execution
  • Enable input validation and output encoding for all user-controlled fields in Jira integration

🔍 How to Verify

Check if Vulnerable:

Check TeamCity version in Administration > Global Settings. If version is below 2025.03.2 and Jira integration is enabled, the system is vulnerable.

Check Version:

Check TeamCity web interface at Administration > Global Settings, or check server logs for version information

Verify Fix Applied:

After upgrading, verify version is 2025.03.2 or higher in Administration > Global Settings. Test Jira integration functionality to ensure it works properly.

📡 Detection & Monitoring

Log Indicators:

  • Unusual Jira integration configuration changes
  • Suspicious script-like content in Jira-related fields
  • Multiple failed login attempts followed by Jira configuration changes

Network Indicators:

  • POST/PUT requests to TeamCity Jira endpoints containing script tags or javascript: URIs
  • Unusual outbound connections from TeamCity to external domains

SIEM Query:

source="teamcity" AND ("jira" AND ("<script>" OR "javascript:" OR "onerror=" OR "onload="))

🔗 References

📤 Share & Export