Skip to main content

Woodpecker CI EUVDEUVD-2026-37897

| CVE-2026-50141 HIGH
Authentication Bypass by Spoofing (CWE-290)
2026-06-18 security-advisories@github.com GHSA-g7mm-9vx7-jm7h
7.1
CVSS 4.0 · Vendor: github
Share

Severity by source

Vendor (github) PRIMARY
7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
6.5 MEDIUM

Remotely reachable gRPC endpoint (AV:N), straightforward metadata injection (AC:L), valid agent token required (PR:L), no user interaction; impersonation tampers with CI integrity (I:H) with no direct C/A impact.

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

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
X

Lifecycle Timeline

3
Patch available
Jun 18, 2026 - 17:02 EUVD
Source Code Evidence Fetched
Jun 18, 2026 - 14:32 vuln.today
Analysis Generated
Jun 18, 2026 - 14:32 vuln.today

DescriptionCVE.org

Woodpecker is a CI/CD engine. Starting in version 3.0.0 and prior to version 3.14.1, a vulnerability in Woodpecker CI's gRPC layer allowed any authenticated agent to impersonate any other agent on the same server by injecting a forged agent_id value into outgoing gRPC metadata. The server correctly verified the JWT token but then discarded the verified agent identity in favor of the client-supplied value. Version 3.14.1 patches the issue. As a workaround, disable org agents (WOODPECKER_DISABLE_USER_AGENT_REGISTRATION=true) and delete existing ones.

AnalysisAI

Agent impersonation in Woodpecker CI 3.0.0 through 3.14.0 allows any authenticated agent to assume the identity of any other agent on the same server by injecting a forged agent_id into outgoing gRPC metadata. The server validates the JWT correctly but then trusts the client-supplied agent_id over the cryptographically verified one, enabling cross-tenant job hijacking and integrity compromise of CI pipelines. No public exploit identified at time of analysis, and the issue is not listed in CISA KEV.

Technical ContextAI

Woodpecker is a Go-based open-source CI/CD engine whose server-agent channel uses gRPC with JWT-bearing metadata for authentication. The defect is a CWE-290 Authentication Bypass by Spoofing in server/rpc/authorizer.go: after parsing JWT claims, the authorizer called md.Append("agent_id", ...), which adds the verified value alongside any client-supplied value rather than replacing it. Downstream gRPC handlers read the first agent_id from metadata, allowing a malicious agent to prepend an arbitrary numeric agent_id and override the trusted claim. The fix in PR #6567 changes Append to Set so the server-derived identity always wins, eliminating the metadata collision.

RemediationAI

Vendor-released patch: upgrade Woodpecker CI server to 3.14.1 or later, per advisory GHSA-g7mm-9vx7-jm7h (https://github.com/woodpecker-ci/woodpecker/security/advisories/GHSA-g7mm-9vx7-jm7h). Until the upgrade is applied, the vendor's workaround is to disable user/org agent registration by setting WOODPECKER_DISABLE_USER_AGENT_REGISTRATION=true and then deleting any existing user-registered agents so only server-trusted agents remain; this prevents low-privileged tenants from obtaining the agent token needed to mount the spoof, at the cost of removing self-service agent provisioning. Operators should also rotate any agent JWTs that may have been issued during the vulnerable window and audit recent pipeline runs for jobs picked up by unexpected agents.

Vendor StatusVendor

SUSE

Severity: Moderate

Share

EUVD-2026-37897 vulnerability details – vuln.today

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