Skip to main content

GoCD EUVDEUVD-2026-83952

| CVE-2026-55625 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-09-21 GitHub_M
4.9
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as pipeline-group admin
  2. Delivery
    Craft material_test API request with out-of-scope pipeline/group context
  3. Exploit
    Server resolves foreign material config and secrets
  4. Execution
    Test Connection uses unauthorized credentials
  5. Impact
    Exfiltrate/abuse cross-group or global secrets

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
Exploitation Conditions

Requires an authenticated GoCD user holding pipeline-group administrator (or config-repo administrator) privileges on a server running 16.1.0 through 26.0.x; the attacker calls /go/api/admin/internal/material_test or /go/api/internal/config_repos/*/material_test and supplies an arbitrary existing pipeline and pipeline-group name outside their authorized scope. Impact is amplified on GoCD 20.6.0 and later, where the test context resolves external secrets managed by secret-management plugins, including global reusable secrets with separate permissions. Limiting factors: exploitation is meaningful only in multi-tenant deployments where distinct teams/groups must be isolated - in a single-team install where all admins are mutually trusted there is no real privilege boundary crossed; PR:H means no anonymous or low-privilege user can exploit it, and no user interaction is required.

Impact

This is a moderate-severity broken-authorization (IDOR) flaw, not a high-priority emergency. The vendor CVSS 3.1 vector (CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N, base 4.9) is internally consistent with the description: network-reachable, low attack complexity, but gated behind PR:H because the attacker must already be an authenticated GoCD pipeline-group administrator. The confidentiality-only impact (C:H, I:N, A:N) correctly reflects that the flaw discloses/abuses credentials and secrets from materials outside the attacker's authorized scope but does not directly modify or deny service. No EPSS score, no CISA KEV listing, and no public POC are present in the provided data, so there is no public exploit identified at time of analysis and no evidence of active exploitation. The realistic risk is therefore an insider/privilege-boundary problem: a semi-trusted pipeline-group admin escalating access to secrets belonging to other groups or global reusable secrets (on 20.6.0+). CWE-639 is the accurate weakness; the input Tag 'Authentication Bypass' is misleading because authentication is NOT bypassed - a valid privileged session is required and only authorization scoping is violated. This should be prioritized in multi-tenant GoCD deployments where distinct teams share one server but must not share secrets; it is low priority in single-team installations where all admins are already mutually trusted.

Exploit ScenarioDerived

A pipeline-group administrator in a shared multi-tenant GoCD server crafts a POST to /go/api/admin/internal/material_test (or the config-repo variant), supplying an existing pipeline/pipeline-group name belonging to a different team along with an SCM material config. GoCD performs the Test Connection using the out-of-scope context, and on GoCD 20.6.0+ resolves external secrets - including global reusable secrets - allowing the attacker to leverage credentials they were never authorized to use. No public exploit code is identified, but the attack is a single authenticated API request with low complexity.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 21, 2026

GoCD continuous delivery servers running 16.1.0 through 26.0.x allow a pipeline-group administrator to test SCM material connections belonging to pipeline groups and configuration repositories outside their authorized scope, causing disclosure of the credentials attached to those materials. Because the affected endpoints (/go/api/admin/internal/material_test and /go/api/internal/config_repos/*/material_test) accept an arbitrary pipeline and pipeline-group context, an attacker can also trigger resolution of external secrets managed by secret-management plugins on GoCD 20.6.0 and later, including global reusable secrets that carry separate permissions. Exploitation requires authenticated access with pipeline-group (or config-repo) administrator privileges (CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N, 4.9), so this is a moderate-severity broken-authorization flaw rather than an emergency; no public exploit code was identified at time of analysis, and the issue is fixed in GoCD 26.1.0.

RemediationAI

Vendor-released patch: upgrade to GoCD 26.1.0, which is the fixed version (release notes: https://github.com/gocd/gocd/releases/tag/26.1.0 and https://www.gocd.org/releases/#26-1-0; advisory: https://github.com/gocd/gocd/security/advisories/GHSA-4557-94j8-5p66; upstream fix commit: https://github.com/gocd/gocd/commit/f0dda0fb8af4cff5e2f4bf52b753fb41a7ec8918). Upgrading is the only complete fix because the vulnerable context handling was removed from the shared AbstractMaterialTestController. Where an immediate upgrade is not possible, compensating controls must be weighed against their trade-offs: because exploitation requires pipeline-group administrator rights (PR:H), audit and reduce the number of users holding pipeline-group or config-repo administrator roles, and avoid granting those roles in tenants that require strict isolation from other teams; rotate any SCM credentials and plugin-managed secrets (particularly global reusable secrets) that are reachable from pipeline groups an administrator could name, since exposure through Test Connection is silent and leaves no artifact; restrict network access to /go/api/admin/internal/material_test and /go/api/internal/config_repos/*/material_test (via a reverse proxy or API gateway allow-list limited to trusted networks) at the cost of breaking legitimate administrative Test Connection workflows; and, on GoCD 20.6.0 and later, move away from global reusable secrets toward per-group secrets so that resolving one group's context cannot yield credentials governed by separate permissions. Note that disabling or scoping down secret-management plugin integration degrades configuration reuse but directly removes the amplified 20.6.0+ exposure path.

Affected VersionsENISA

gocd 16.1.0, < 26.1.0

Affected Packages

euvd gocd_16_1_0 fix: 26.1.0

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 Java-based continuous delivery server whose configuration model separates pipelines into pipeline groups, each with its own administrators and its own set of materials (SCM materials such as Git, SVN, Mercurial, Perforce, and TFS connections, each carrying credentials). The vulnerable code lives in the shared controller class com.thoughtworks.go.api.abstractmaterialtest.AbstractMaterialTestController, which backs the "Test Connection" API used to validate a material's SCM configuration. Before the fix, that controller read pipeline_name and pipeline_group fields directly from the JSON request body, used them to locate an existing PipelineConfig, ran config parameter (param) expansion against it, converted the material config to a live Material, and then called resolveSecrets(pipelineGroupName, material) - resolving plugin-managed secrets in the context of the named pipeline group before performing the connection check. Nothing tied the supplied group name to the caller's own authorization scope, an instance of CWE-639 (Authorization Bypass Through User-Controlled Key): the pipeline/pipeline-group parameters act as a user-controlled key that selects which context's credentials are used. The upstream fix (commit f0dda0fb8af4cff5e2f4bf52b753fb41a7ec8918) removes param expansion and secret resolution from the base controller and instead introduces an abstract resolveTestMaterial hook, documented as assuming the caller has already validated that the user may access or edit the pipeline/materials in the relevant context, leaving the actual material resolution to subclasses that can enforce scope. The disclosure is amplified on GoCD 20.6.0 and later because the test context also resolves external secrets supplied by secret-management plugins, including global reusable secrets whose read permissions are governed separately from the pipeline group.

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

Vendor (GitHub_M) PRIMARY 4.9 MEDIUM
AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 4.9 MEDIUM

Remote API reachable with low complexity, but requires pipeline-group admin privileges (PR:H); impact is confidentiality-only via exposed cross-group credentials/secrets, no integrity or availability effect.

3.1 AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
High
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

Lifecycle Timeline

1
Patch available
Sep 21, 2026 - 16:16 EUVD

DescriptionCVE.org

GoCD is a continuous deliver server. From 16.1.0 until 26.1.0, the internal material connection test APIs at /go/api/admin/internal/material_test and /go/api/internal/config_repos/*/material_test accept an arbitrary existing pipeline and pipeline-group context without sufficient validation. A pipeline group administrator can invoke Test Connection for source control materials outside the administrator's authorized pipeline group or configuration repository and potentially use credentials from those materials. For GoCD 20.6.0 and later, the test context can also resolve external secrets managed by secret-management plugins, including global reusable secrets with separate permissions. This issue is fixed in version 26.1.0.

Threat Intelligence Overview

EPSS Score
0.3%
Top 81% exploitable
Prevalence
Low
Niche self-hosted open-source CI/CD server, limited enterprise footprint
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

24
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +24
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

More in Gocd

View all
CVE-2021-44659 CRITICAL POC
9.8 Dec 22

Adding a new pipeline in GoCD server version 21.3.0 has a functionality that could be abused to do an un-intended action

CVE-2022-39311 HIGH
8.8 Oct 14

GoCD is a continuous delivery server. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable, low at

CVE-2022-29184 HIGH
8.8 May 20

GoCD is a continuous delivery server. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable, low at

CVE-2021-25924 HIGH
8.8 Apr 01

In GoCD, versions 19.6.0 to 21.1.0 are vulnerable to Cross-Site Request Forgery due to missing CSRF protection at the `/

CVE-2026-52741 HIGH
7.5 Sep 21

Stored cross-site scripting in GoCD's Compare Pipeline page affects versions 18.3.0 through 25.x and allows an attacker

CVE-2026-68919 HIGH
7.0 Sep 21

Stored cross-site scripting in GoCD (versions 13.3.0 through 26.1.0) allows an authenticated user who holds write access

CVE-2022-24832 MEDIUM
6.8 Apr 11

GoCD is an open source a continuous delivery server. Rated medium severity (CVSS 6.8), this vulnerability is remotely ex

CVE-2022-39310 MEDIUM
6.5 Oct 14

GoCD is a continuous delivery server. Rated medium severity (CVSS 6.5), this vulnerability is remotely exploitable, low

CVE-2022-39309 MEDIUM
6.5 Oct 14

GoCD is a continuous delivery server. Rated medium severity (CVSS 6.5), this vulnerability is remotely exploitable, low

CVE-2024-28866 MEDIUM
6.1 May 14

GoCD is a continuous delivery server. Rated medium severity (CVSS 6.1), this vulnerability is remotely exploitable, no a

CVE-2022-29183 MEDIUM
6.1 May 20

GoCD is a continuous delivery server. Rated medium severity (CVSS 6.1), this vulnerability is remotely exploitable, no a

CVE-2022-39308 MEDIUM
5.9 Oct 14

GoCD is a continuous delivery server. Rated medium severity (CVSS 5.9), this vulnerability is remotely exploitable, no a

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy