Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege internal user
-
ExploitPoll /go/api/support/process_list repeatedly
-
ExecutionCatch running source-control child process
-
ImpactRead exposed material URLs, paths, usernames and args
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated internal GoCD user account (the description states an 'authenticated internal user,' contradicting the vector's PR:N). Exploitation is further limited by a timing race: the /go/api/support/process_list endpoint only leaks material metadata while source-control child processes are actively running, so the attacker must query during that unpredictable window (matching CVSS AC:H). Disclosure is bounded - credentials, environment variables, and user-defined secrets are masked or omitted, so only command-line arguments, usernames, remote material URLs, and internal material paths are exposed. Affects GoCD 13.1.0 through versions before 26.1.0; fixed in 26.1.0. |
| Impact | This is a genuinely low-priority issue despite being an authorization flaw. The vendor CVSS of 3.7 (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N) reflects information disclosure only, with no integrity or availability impact. All three exploitation-likelihood signals are quiet: no EPSS score is provided, KEV status is NO (not in CISA KEV), and no public POC is referenced - so exploitation status is 'no public exploit identified at time of analysis.' There is also a notable internal conflict: the CVSS vector encodes PR:N (unauthenticated), but the description explicitly states 'An authenticated internal user' can query the endpoint - verify with vendor, but the description strongly implies PR:L (authenticated), which is corroborated by the fix adding an admin-user authorization check. The AC:H rating is well-justified because exploitation depends on unpredictable timing (the attacker must query while source-control child processes are actively running), and the leaked data is bounded - credentials, environment variables, and user-defined secrets remain masked or omitted. Net: a real but minor confidentiality gap for lower-privileged authenticated users, not an urgent patch. |
| Exploit ScenarioDerived | A logged-in low-privilege GoCD user repeatedly polls /go/api/support/process_list hoping to catch a moment when source-control child processes (e.g., a git/svn material fetch) are executing. If timed correctly, the response reveals command-line arguments, usernames, remote material URLs, and internal material paths for materials the user is not otherwise authorized to see. No public exploit code is identified, and success is unreliable due to the process-timing race. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 21, 2026
Incorrect authorization in GoCD 13.1.0 through versions before 26.1.0 lets an authenticated internal user call the /go/api/support/process_list endpoint without the intended administrator privileges and read command-line arguments, usernames, remote material URLs, and internal material paths for materials they cannot otherwise access. Exploitation is gated by a timing race, since the endpoint only leaks this material metadata while source-control child processes are actively running, and disclosure is bounded because credentials, environment variables, and user-defined secrets remain masked or omitted. No public exploit code or confirmed active exploitation was identified, and the issue is fixed in GoCD 26.1.0.
RemediationAI
Vendor-released patch: upgrade GoCD servers to version 26.1.0, which adds the missing ApiAuthenticationHelper.checkAdminUserAnd403 filter on the /go/api/support/process_list controller paths. The fixing change is commit fbf832f9358d96466bb87fad11a1de0ba935fea8 and the release is published at https://github.com/gocd/gocd/releases/tag/26.1.0, with advisory details at https://github.com/gocd/gocd/security/advisories/GHSA-vqjf-7pf8-hgwr. If immediate upgrading is not possible, compensate by preventing non-administrative accounts from reaching the server API - for example front the GoCD server with a reverse proxy or WAF rule that denies /go/api/support/process_list (and the /go/api/support/* path generally) to anyone other than explicitly trusted administrative source addresses; the trade-off is that legitimate administrators behind those addresses lose access unless allow-listed, and any proxy misconfiguration can block other /go/api/ operations. Alternatively, reduce the population of authenticated low-privilege internal users who can log in to the server while the upgrade is pending, accepting that insider or compromised-credential actors within that set remain in scope. Restricting the endpoint does not affect pipeline execution, since the API is diagnostic only.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw is a CWE-863 incorrect authorization defect in the GoCD api-support module's Java Spark controller (ApiSupportController). GoCD is a continuous delivery server that models pipelines' materials (source repositories) and spawns child processes to poll and fetch them; the /go/api/support/process_list endpoint is meant to be administrator-only because the underlying server status routine reports live process details. The supplied CVSS vector lists PR:N, but the source advisory and the independent assessment describe the attacker as an authenticated internal user, so the realistic privilege requirement is PR:L. The fixing commit (fbf832f9358d96466bb87fad11a1de0ba935fea8) injects ApiAuthenticationHelper and registers before("", this.apiAuthenticationHelper::checkAdminUserAnd403) and before("/*", ...) filters on the controller base paths, and its test changes move the suite under an AdminUserSecurity/SecurityTestTrait harness - confirming the regression was a missing admin authorization check rather than a parsing or injection bug. Because the leak window depends on unpredictable process timing (CVSS AC:H), and because secrets, environment variables, and credentials are still filtered out of the response, the confidentiality impact remains low (C:L) with no integrity or availability effect.
Know when Gocd gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N
Description requires an authenticated internal user (PR:L, overriding vendor PR:N); success depends on an unpredictable process-timing race (AC:H); bounded metadata leak is confidentiality-only (C:L, I:N, A:N).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
GoCD is a continuous deliver server. From 13.1.0 until 26.1.0, the /go/api/support/process_list endpoint does not enforce its intended administrator-only authorization. An authenticated internal user can query the endpoint while source control child processes are running and view command-line arguments, usernames, remote material URLs, and internal material paths for materials the user cannot otherwise access. Exploitation depends on unpredictable process timing, and credentials, environment variables, and user-defined secrets remain masked or omitted. This issue is fixed in version 26.1.0.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Adding a new pipeline in GoCD server version 21.3.0 has a functionality that could be abused to do an un-intended action
GoCD is a continuous delivery server. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable, low at
GoCD is a continuous delivery server. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable, low at
In GoCD, versions 19.6.0 to 21.1.0 are vulnerable to Cross-Site Request Forgery due to missing CSRF protection at the `/
Stored cross-site scripting in GoCD's Compare Pipeline page affects versions 18.3.0 through 25.x and allows an attacker
Stored cross-site scripting in GoCD (versions 13.3.0 through 26.1.0) allows an authenticated user who holds write access
GoCD is an open source a continuous delivery server. Rated medium severity (CVSS 6.8), this vulnerability is remotely ex
GoCD is a continuous delivery server. Rated medium severity (CVSS 6.5), this vulnerability is remotely exploitable, low
GoCD is a continuous delivery server. Rated medium severity (CVSS 6.5), this vulnerability is remotely exploitable, low
GoCD is a continuous delivery server. Rated medium severity (CVSS 6.1), this vulnerability is remotely exploitable, no a
GoCD is a continuous delivery server. Rated medium severity (CVSS 6.1), this vulnerability is remotely exploitable, no a
GoCD is a continuous delivery server. Rated medium severity (CVSS 5.9), this vulnerability is remotely exploitable, no a
EUVD-2026-83950
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB