CatalogTeamCity Auth Bypass
TeamCity Auth Bypass (CVE-2024-27198)
Single product teamcity-auth-bypass
Unauthenticated authentication bypass in JetBrains TeamCity On-Premises enabling administrator access and plugin-based RCE. CVSS 9.8. Mass exploitation reported within days of disclosure. Listed in CISA KEV on 7 Mar 2024.
- Aliases
- Published
- Updated
What the bug is
CVE-2024-27198 is an authentication bypass in JetBrains TeamCity On-Premises that allows an unauthenticated attacker with HTTP(S) access to perform administrator actions. NVD scores it CVSS 3.1 9.8. A companion path-traversal issue, CVE-2024-27199, was disclosed at the same time.
Rapid7's Stephen Fewer discovered both bugs in February 2024. JetBrains fixed them in TeamCity 2023.11.4 (announced around 3-4 Mar 2024) and stated that TeamCity Cloud had already been patched. By 7 Mar 2024, Dark Reading reported LeakIX detecting thousands of internet-facing TeamCity servers with signs of rogue accounts created via CVE-2024-27198. A Metasploit module and public PoCs followed.
Attack path
- Reach TeamCity HTTP(S)Unauthenticated access to a TeamCity On-Premises HTTP(S) listener.
- Auth bypassA crafted request bypasses authentication checks (CVE-2024-27198).
- Admin token or userAttacker creates an administrator token or user through the REST API.
- Malicious plugin RCEA plugin upload yields code execution on the TeamCity server OS. Conceptual impact class only.
High-level only. Not a reproduction guide.
Exploitation status
CISA KEV
Listed in CISA KEV as of .
CISA KEV entry for CVE-2024-27198, JetBrains TeamCity Authentication Bypass Vulnerability. dateAdded 2024-03-07. knownRansomwareCampaignUse Known. CVE-2024-27199 is also KEV-listed (dateAdded 2026-04-20).
First seen
Seen . Source: Dark Reading / LeakIX
Dark Reading reports LeakIX detecting internet-facing TeamCity servers with signs of rogue accounts created via CVE-2024-27198 by 7 Mar 2024. Earlier opportunistic exploitation may exist; this is the dated public mass-exploitation report used here.
What defenders should do today
Do today
- 1
Upgrade TeamCity On-Premises to 2023.11.4 or later
JetBrains fixed CVE-2024-27198 and CVE-2024-27199 in 2023.11.4. TeamCity Cloud was already patched. If you cannot upgrade immediately, use JetBrains's security patch plugin described in the advisory.
- 2
Assume compromise if the server was internet-facing while vulnerable
LeakIX reported rogue administrator accounts on a large share of exposed vulnerable servers. Rotate tokens, review users, and audit plugins.
This week
- 1
Review TeamCity audit and log artifacts
Rapid7 documents IOCs in teamcity-javaLogging, teamcity-server.log, teamcity-activities.log, disabled-plugins.xml, and plugin unpack directories after malicious plugin upload.
- 2
Restrict TeamCity HTTP(S) to trusted networks
Keep CI management interfaces off the public internet. Require VPN or identity-aware proxy access.
Detection rules
Sigma
TeamCity Authentication Bypass URI Pattern
title: TeamCity Authentication Bypass URI Pattern id: 89a3b09d-4252-59f1-8eeb-d6e115f66ea5 status: experimental description: Detects requests whose query string carries a jsp= parameter plus a ';' path parameter ending in .jsp, the URI shape Rapid7 documents for CVE-2024-27198 against JetBrains TeamCity. references: - https://www.rapid7.com/blog/post/2024/03/04/etr-cve-2024-27198-and-cve-2024-27199-jetbrains-teamcity-multiple-authentication-bypass-vulnerabilities-fixed/ author: vuln2shell date: 2026-10-23 tags: - attack.initial-access - attack.t1190 - cve.2024-27198 logsource: category: webserver detection: selection: cs-uri-query|contains|all: - 'jsp=' - ';' - '.jsp' condition: selection falsepositives: - Unlikely on TeamCity servers level: highBy vuln2shell, . Source. License: CC0 1.0
Written by vuln2shell. Untested, tune before use.
Matches the attacker's original URI as logged by a proxy.
SPL (Splunk)
JetBrains TeamCity Authentication Bypass CVE-2024-27198
| tstats count min(_time) as firstTime max(_time) as lastTime FROM datamodel=Web WHERE ( (Web.url="*?jsp=*" AND Web.url="*;.jsp*") Web.status=200 Web.http_method=POST ) OR (Web.url IN ("*jsp=/app/rest/users;.jsp","*?jsp=/app/rest/users;.jsp","*?jsp=.*/app/rest/users/id:*/tokens;*") Web.status=200 Web.http_method=POST ) BY Web.src, Web.dest, Web.http_user_agent, Web.url, Web.status, Web.http_method, sourcetype, source | `drop_dm_object_name("Web")` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `jetbrains_teamcity_authentication_bypass_cve_2024_27198_filter`By Michael Haag, Splunk, . Source. License: Apache-2.0
Uses Splunk ES macros and data models from splunk/security_content; the trailing _filter macro is a tuning hook.
Windows TeamCity Plugin Installed
| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Filesystem where Filesystem.file_path="*:\\ProgramData\\JetBrains\\TeamCity\\plugins\\*" Filesystem.file_name="*.zip" Filesystem.action="created" by Filesystem.dest Filesystem.action Filesystem.file_name Filesystem.user Filesystem.vendor_product Filesystem.file_create_time Filesystem.process_path Filesystem.process_guid Filesystem.process_id Filesystem.file_path | `drop_dm_object_name(Filesystem)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `windows_teamcity_plugin_installed_filter`By Raven Tait, Splunk, . Source. License: Apache-2.0
Uses Splunk ES macros and data models from splunk/security_content; the trailing _filter macro is a tuning hook.
KQL (Microsoft Sentinel / Defender)
TeamCity server Java process spawns a shell (Defender)
DeviceProcessEvents | where Timestamp > ago(30d) | where InitiatingProcessFileName =~ "java.exe" and InitiatingProcessFolderPath has "TeamCity" | where FileName in~ ("cmd.exe", "powershell.exe", "pwsh.exe", "certutil.exe", "whoami.exe", "net.exe") | project Timestamp, DeviceName, InitiatingProcessFolderPath, FileName, ProcessCommandLine, AccountNameBy vuln2shell, . Source. License: CC0 1.0
Written by vuln2shell. Untested, tune before use.
KQL port of a subset of Elastic's Suspicious JetBrains TeamCity Child Process rule. Build steps can run shells, so exclude build agents.
LogScale (CrowdStrike)
Rewritten bypass URI in teamcity-javaLogging (LogScale)
/;\S*\.jsp\?\S*jsp=/ | groupBy([@host], function=count())By vuln2shell, . Source. License: CC0 1.0
Written by vuln2shell. Untested, tune before use.
Uses the exact regex Rapid7 suggests for the rewritten URI in teamcity-javaLogging.
ES|QL / EQL (Elastic)
Suspicious JetBrains TeamCity Child Process
process where host.os.type == "windows" and event.type == "start" and process.parent.executable : ("?:\\TeamCity\\jre\\bin\\java.exe", "?:\\Program Files\\TeamCity\\jre\\bin\\java.exe", "?:\\Program Files (x86)\\TeamCity\\jre\\bin\\java.exe", "?:\\TeamCity\\BuildAgent\\jre\\bin\\java.exe") and process.name : ("cmd.exe", "powershell.exe", "msiexec.exe", "certutil.exe", "bitsadmin.exe", "wmic.exe", "curl.exe", "ssh.exe", "rundll32.exe", "regsvr32.exe", "mshta.exe", "certreq.exe", "net.exe", "nltest.exe", "whoami.exe", "hostname.exe", "tasklist.exe", "arp.exe", "nbtstat.exe", "netstat.exe", "reg.exe", "tasklist.exe", "Microsoft.Workflow.Compiler.exe", "arp.exe", "atbroker.exe", "bginfo.exe", "bitsadmin.exe", "cdb.exe", "cmstp.exe", "control.exe", "cscript.exe", "csi.exe", "dnx.exe", "dsget.exe", "dsquery.exe", "forfiles.exe", "fsi.exe", "ftp.exe", "gpresult.exe", "ieexec.exe", "iexpress.exe", "installutil.exe", "ipconfig.exe","msxsl.exe", "netsh.exe", "odbcconf.exe", "ping.exe", "pwsh.exe", "qprocess.exe", "quser.exe", "qwinsta.exe", "rcsi.exe", "regasm.exe", "regsvcs.exe", "regsvr32.exe", "sc.exe", "schtasks.exe", "systeminfo.exe", "tracert.exe", "wmic.exe", "wscript.exe","xwizard.exe", "explorer.exe", "msdt.exe") and not (process.name : "powershell.exe" and process.args : "-ExecutionPolicy" and process.args : "?:\\TeamCity\\buildAgent\\work\\*.ps1") and not (process.name : "cmd.exe" and process.args : "dir" and process.args : "/-c")
Suricata / Snort
ET WEB_SPECIFIC_APPS JetBrains TeamCity Authentication Bypass Attempt (CVE-2024-27198) - Admin User Creation Attempt
alert http any any -> [$HOME_NET,$HTTP_SERVERS] any (msg:"ET WEB_SPECIFIC_APPS JetBrains TeamCity Authentication Bypass Attempt (CVE-2024-27198) - Admin User Creation Attempt"; flow:established,to_server; http.method; content:"POST"; http.uri; content:"jsp|3d|/app/rest/users"; fast_pattern; content:".jsp"; within:30; http.request_body; content:"|7b|"; startswith; content:"|22|username|22 3a 20 22|"; content:"|22|password|22 3a 20 22|"; content:"|5b 7b 22|roleId|22 3a 20 22|SYSTEM_ADMIN"; reference:cve,2024-27198; reference:url,www.rapid7.com/blog/post/2024/03/04/etr-cve-2024-27198-and-cve-2024-27199-jetbrains-teamcity-multiple-authentication-bypass-vulnerabilities-fixed/; classtype:attempted-admin; sid:2051506; rev:5; metadata:affected_product JetBrains_TeamCity, created_at 2024_03_06, cve CVE_2024_27198, deployment Perimeter, deployment Internal, deployment SSLDecrypt, confidence High, signature_severity Major, tag JetBrains_TeamCity, tag CISA_KEV, tag Description_Generated_By_Proofpoint_Nexus, updated_at 2025_08_11, mitre_tactic_id TA0001, mitre_tactic_name Initial_Access, mitre_technique_id T1190, mitre_technique_name Exploit_Public_Facing_Application; target:dest_ip;)By Emerging Threats (Proofpoint), . Source. License: BSD-3-Clause (ET Open, sids 2000000-2799999)
ET WEB_SPECIFIC_APPS JetBrains TeamCity Authentication Bypass Attempt (CVE-2024-27199) - Vulnerability Check
alert http any any -> $HOME_NET any (msg:"ET WEB_SPECIFIC_APPS JetBrains TeamCity Authentication Bypass Attempt (CVE-2024-27199) - Vulnerability Check"; flow:established,to_server; http.method; content:"GET"; http.uri; pcre:"/^\x2f(res|update|\x2ewell-known\x2facme-challenge)\x2f/"; content:"|2e 2e|"; content:"/admin/diagnostic.jsp"; fast_pattern; endswith; reference:cve,2024-27199; reference:url,www.rapid7.com/blog/post/2024/03/04/etr-cve-2024-27198-and-cve-2024-27199-jetbrains-teamcity-multiple-authentication-bypass-vulnerabilities-fixed/; classtype:attempted-recon; sid:2051508; rev:2; metadata:affected_product JetBrains_TeamCity, created_at 2024_03_06, cve CVE_2024_27199, deployment Perimeter, deployment Internal, deployment SSLDecrypt, confidence High, signature_severity Major, tag JetBrains_TeamCity, tag CVE_2024_27199, tag Description_Generated_By_Proofpoint_Nexus, updated_at 2024_11_26, mitre_tactic_id TA0001, mitre_tactic_name Initial_Access, mitre_technique_id T1190, mitre_technique_name Exploit_Public_Facing_Application; target:dest_ip;)By Emerging Threats (Proofpoint), . Source. License: BSD-3-Clause (ET Open, sids 2000000-2799999)
More detection content
- Rapid7: CVE-2024-27198 and CVE-2024-27199 analysis (log regexes)
By Rapid7,
- Splunk: JetBrains TeamCity Limited Auth Bypass Suricata CVE-2024-27199
By Splunk Threat Research Team
- Splunk: Windows TeamCity Payload Execution From Temp Directory
By Splunk Threat Research Team
- ET Open emerging-web_specific_apps.rules (TeamCity sids 2051505 to 2051512)
By Emerging Threats,
Affected versions
JetBrains TeamCity On-Premises
| Version | Status | Advisory |
|---|---|---|
| TeamCity On-Premises through 2023.11.3 | Affected | The vulnerabilities affect all TeamCity On-Premises versions through 2023.11.3. They have been fixed in version 2023.11.4. Source |
| TeamCity Cloud | Vendor stated not affected | TeamCity Cloud servers have already been patched, and we have verified that they weren't attacked. Source |
Timeline6
Key events
Newest first.
CISA adds CVE-2024-27198 to KEV. Dark Reading reports LeakIX mass-exploitation telemetry.
SourcePublic PoC repository W01fh4cker/CVE-2024-27198-RCE appears.
SourceRapid7 publishes technical details. NVD publishes CVE-2024-27198.
SourceJetBrains releases TeamCity 2023.11.4 (Rapid7 saw the release blog on 4 Mar depending on timezone).
SourceRapid7 first contacts JetBrains about the issues.
Source
Full timeline (6)
Thu 7 Mar 20241
CISA adds CVE-2024-27198 to KEV. Dark Reading reports LeakIX mass-exploitation telemetry.
Source
Wed 6 Mar 20241
Public PoC repository W01fh4cker/CVE-2024-27198-RCE appears.
Source
Mon 4 Mar 20241
Rapid7 publishes technical details. NVD publishes CVE-2024-27198.
Source
Sun 3 Mar 20241
JetBrains releases TeamCity 2023.11.4 (Rapid7 saw the release blog on 4 Mar depending on timezone).
Source
Tue 20 Feb 20241
Rapid7 provides technical analysis; JetBrains reproduces the same day.
Source
Thu 15 Feb 20241
Rapid7 first contacts JetBrains about the issues.
Source
News & write-ups
Research2
News1
PoC index (for defenders)
Public proof-of-concept links for defensive validation, with a source and a validation status.
- W01fh4cker/CVE-2024-27198-RCEValidated
Public repository created 6 Mar 2024. Description covers CVE-2024-27198 and CVE-2024-27199 authentication bypass to RCE.
Official Metasploit module page describing unauthenticated admin token/plugin RCE.