CVE-2026-44413: JetBrains TeamCity Privilege Escalation Exposes Tokens, Git Credentials, and Build Secrets
A post-authentication privilege escalation in TeamCity On-Premises lets any authenticated user — including guests — read REST API endpoints containing tokens, passwords, and Git credentials. Update to 2026.1 or apply the security patch plugin.
JetBrains disclosed CVE-2026-44413 on May 12, a privilege escalation vulnerability in TeamCity On-Premises that allows any authenticated user — including standard users and guest accounts — to expose parts of the TeamCity REST API to unauthorized access. The blast radius is significant: that API contains API tokens, Git credentials, secrets used in builds, build logs, and user account data including roles and email addresses.
The vulnerability
CVE-2026-44413 is a post-authentication privilege escalation, classified as CWE-306 (Missing Authentication for Critical Function). Exploitation requires a valid TeamCity account. Guest accounts, if enabled on the instance, qualify.
The issue was reported privately on April 30 by Martin Orem (binary.house) under coordinated disclosure. JetBrains has confirmed there is no evidence of active exploitation in the wild as of publication.
Affected versions: All TeamCity On-Premises versions through 2025.11.4. TeamCity Cloud: Not affected.
Why this matters more than it looks
TeamCity sits at the center of CI/CD pipelines. The data exposed via the REST API includes:
- API tokens — service account tokens used to trigger builds, push artifacts, or interact with other systems
- Git credentials — usernames and passwords or tokens stored for repository access
- Build secrets — environment variables, credentials, and secrets passed to build steps
- Build logs — output from pipeline runs that may contain printed secrets or internal system information
- User data — email addresses, roles, and group memberships
An attacker with a standard user account (or guest access) who can read this data has a direct path to lateral movement: grab the Git credentials, clone the repos, find more secrets in the source, escalate further. TeamCity is often the highest-privilege system in a development org because it touches everything.
This is a classic case where a “post-authentication” label makes the issue sound less severe than it is. In many organizations, developer guest accounts are shared, left active for contractors, or deliberately left open for internal transparency. Any of those account types is an attack vector here.
Fix
Option 1 (recommended): Upgrade to TeamCity On-Premises 2026.1, which ships with the fix included along with MCP (model context protocol) support for AI agents.
Option 2: Install the security patch plugin. JetBrains has released a patch plugin compatible with TeamCity 2017.1 and newer — useful if the jump to 2026.1 requires testing against your existing pipeline configuration.
# Verify your running version
curl -s http://localhost:8111/app/rest/server --header "Accept: application/json" | jq '.version'
JetBrains recommends upgrading over the plugin where possible, as 2026.1 contains additional security hardening beyond this specific CVE.
Immediate actions
- Audit guest access — disable it if it’s not intentionally needed.
- Review active API tokens issued from TeamCity — revoke any that are broader than needed.
- Rotate Git credentials stored in TeamCity as a precaution, especially for repos containing sensitive infrastructure code.
- Apply the patch or upgrade before enabling guest access again.
TeamCity’s REST API is extensive. The full scope of what an authenticated-but-unprivileged user could read via this vulnerability depends on instance configuration, but assume the worst-case scenario until patched.
Related reading
- Cybersecurity Agentjacking: A Fake Sentry Error Report Can Hijack Your AI Coding Agent
- Cybersecurity CVE-2026-48710: 'BadHost' Auth Bypass in Starlette Exposes Millions of AI APIs
- Cybersecurity CVE-2026-42945 (CVSS 9.2): NGINX Rift Heap Overflow Exploited in the Wild — Unauthenticated RCE PoC Now Public