Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege GoCD user
-
ExploitQuery /go/api/internal/pipelines/**/upstream endpoint
-
ExecutionBypass missing per-pipeline authorization
-
ImpactRead unauthorized dependency and reference-name metadata
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
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 a valid authenticated GoCD account (PR:L) on a server running an affected version (20.2.0 through pre-26.1.0). The attacker calls the internal UI fetch-artifact auto-suggestion API at /go/api/internal/pipelines/**/upstream. Exploitation is meaningful only in deployments where pipeline visibility is restricted per user/team, so that the leaked dependency hierarchy and reference names exceed the user's granted view permissions; in a single-team or fully-visible install there is nothing extra to disclose. The endpoint is read-only, so impact is limited to disclosure of pipeline topology and reference names - no data modification, credential, or artifact-content exposure. No user interaction or non-default configuration is required beyond having security/authorization enabled. |
| Impact | This is a genuine but low-severity information-disclosure issue, correctly rated at the lower-middle of the scale. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N, 5.3) is internally consistent with the description and the fix commit: an authenticated low-privilege user (PR:L) can reach a read-only internal API over the network with no user interaction and obtain a confidentiality-only leak (VC:L, VI:N/VA:N - read-only, no modification). My independent CVSS 3.1 assessment (AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N, ~4.3) agrees. There is no EPSS score, no CISA KEV listing, and no public POC provided, so exploitation status is 'no public exploit identified at time of analysis.' No SSVC decision block was supplied. The disclosed data is metadata (pipeline/stage/job/artifact reference names and inter-pipeline dependency structure) rather than credentials, source, or artifact contents, so real-world impact is limited to reconnaissance/leak of pipeline topology across authorization boundaries. This is a real priority only in multi-tenant GoCD deployments where pipeline visibility is intentionally segmented between teams; in single-team installs the practical risk is negligible. No signals conflict: the CVSS vector, CWE-862 (missing authorization), and the commit (adding checkPipelineOrTemplateViewPermissionsAnd403 and per-pipeline hasViewPermissionForPipeline checks) all point to the same authorization-gap conclusion. |
| Exploit ScenarioDerived | An authenticated GoCD user who has been granted visibility to only a subset of pipelines sends a GET request to the internal fetch-artifact auto-suggestion endpoint /go/api/internal/pipelines/**/upstream. Because the endpoint only enforced generic authentication rather than per-pipeline view authorization, the response reveals upstream dependency hierarchies and pipeline/stage/job/artifact reference names the user is not permitted to see in the UI, enabling cross-team reconnaissance. No public proof-of-concept was provided, but the fix commit and its added security tests demonstrate the exact gap. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 23, 2026
GoCD 20.2.0 through pre-26.1.0 allows any authenticated user to retrieve inter-pipeline dependency hierarchy details and user-defined pipeline, stage, job, and artifact plugin reference names via the internal fetch-artifact auto-suggestion API at /go/api/internal/pipelines/**/upstream, bypassing per-pipeline view authorization. The endpoint is read-only, so impact is limited to information disclosure that matters primarily where pipeline visibility is restricted per user or team; single-team installations expose little extra. No public exploit code was identified at time of analysis, and the issue is fixed in version 26.1.0.
RemediationAI
Upgrade to GoCD 26.1.0 or later, which contains the fix in commit ce9602d7bb27dcb89bf8fc15eb859306cdc8995c and is documented in advisory GHSA-mvpm-hmc9-2q8p. If immediate upgrade is not possible, as a compensating control restrict access to the internal endpoint /go/api/internal/pipelines/**/upstream at a reverse proxy or WAF so that only trusted administrator accounts can reach it; the trade-off is that the fetch-artifact auto-suggestion feature will stop working for regular users who need it. Alternatively, audit and reduce the number of authenticated accounts with broad pipeline view permissions, since the leak only matters when per-user or per-team pipeline visibility is enforced. After upgrading, verify that the API route enforces pipeline or template view permissions as described in the vendor commit.
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
GoCD is a continuous delivery server; the vulnerable component is the internal dependency pipelines API controller (InternalDependencyPipelinesControllerV1) in the Java API layer. The root cause is CWE-862 Missing Authorization: the controller route for /go/api/internal/pipelines/**/upstream used only apiAuthenticationHelper::checkUserAnd403, which verifies that a user is authenticated but does not verify that the user has view permission for the pipeline or template whose dependency data is being requested. The upstream auto-suggestion feature is meant to help users fetch artifacts by suggesting upstream pipelines; the leaked data includes inter-pipeline dependency hierarchy and user-defined pipeline, stage, job, and artifact plugin reference names. The fix (commit ce9602d7bb27dcb89bf8fc15eb859306cdc8995c) replaces the generic authentication check with checkPipelineOrTemplateViewPermissionsAnd403, which calls checkPipelineViewPermissionsAnd403 or checkViewAccessToTemplateAnd403 depending on whether the request is for a template (via ?template=true) or a pipeline, and also passes a permission predicate into FetchArtifactViewHelper so that only pipelines the user can view are included. CPE cpe:2.3:a:gocd:gocd:*:*:*:*:*:*:*:* indicates the generic GoCD product; the version range is 20.2.0 through 26.1.0 exclusive. The CVSS vector CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N and the independent CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N both reflect network-exploitable, authenticated, low-confidentiality-only impact 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Authenticated low-privilege user (PR:L) reaches a network read-only endpoint with no interaction, yielding a limited confidentiality leak of pipeline metadata; no integrity or availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
GoCD is a continuous deliver server. From 20.2.0 until 26.1.0, the internal GoCD UI fetch-artifact auto-suggestion API at /go/api/internal/pipelines/**/upstream does not adequately authorize access to upstream dependency data. An authenticated user can retrieve inter-pipeline dependency hierarchy details and user-defined pipeline, stage, job, and artifact plugin reference names that the user cannot otherwise view in the UI. The endpoint is read-only and does not permit modification of pipeline data. 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
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-85516
NVD
CVE.org
EPSS
GitHub
Exploit-DB