Skip to main content

Woodpecker CI CVE-2026-58370

| EUVDEUVD-2026-40358 CRITICAL
Authentication Bypass by Spoofing (CWE-290)
2026-06-30 VulnCheck GHSA-wpx4-jm4h-w8j6
9.2
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Fork target GitLab project
  2. Delivery
    Craft commit with spoofed author.name matching allowlist
  3. Exploit
    Open merge request from fork
  4. Execution
    ApprovalAllowedUsers match makes needsApproval false
  5. Persist
    Pipeline auto-runs on agent
  6. Impact
    Execute attacker-controlled steps and exfiltrate CI secrets

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Anti-spoofing controls
MITRE ATT&CK

1 technique across 1 tactic: Defense Evasion

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires the target Woodpecker server to use the GitLab forge driver AND to have the fork-approval allowlist (ApprovalAllowedUsers) populated with at least one trusted entry; the attacker must be able to open a merge request from a fork (possible to anyone on public/open GitLab projects) and must know or guess one allowlisted author name to place in the spoofed commit.author.name. Limiting factors that reduce real-world exposure: instances on Gitea, Forgejo, GitHub, or Bitbucket are not vulnerable at all; instances that do not use ApprovalAllowedUsers have nothing to bypass; and exploitation value depends on secrets actually being exposed to fork-triggered runs. No additional authentication on Woodpecker itself is needed (PR:N), and no user interaction by a victim is required.

Impact

Signals are mixed but lean toward a genuine, high-impact issue for the affected deployment subset. The CVSS 4.0 base score is 9.2 (Critical) with AV:N/AC:H/AT:P/PR:N/UI:N and full VC:H/VI:H/VA:H, reflecting remote, unauthenticated abuse leading to code execution and secret disclosure; AC:H and AT:P acknowledge that exploitation depends on a specific configuration (GitLab forge plus a populated ApprovalAllowedUsers list) and on the attacker meeting a presence requirement (ability to open a fork MR). No EPSS score, no CISA KEV listing, and no public proof-of-concept were provided, so there is no evidence of active or widespread exploitation - the elevated score is driven by impact and ease of spoofing, not by observed attacks. The practical risk is concentrated: organizations running Woodpecker against GitLab with fork approvals enabled face a real and easily triggered bypass, while GitHub/Gitea/Forgejo/Bitbucket users are not exposed at all. Treat as a priority patch for GitLab-backed instances; lower urgency elsewhere.

Exploit ScenarioDerived

An attacker forks a public GitLab project that is built by a Woodpecker instance using fork approvals, then crafts a commit whose author name (commit.author.name) matches a trusted entry in ApprovalAllowedUsers and opens a merge request. Woodpecker's needsApproval check returns false, so the attacker's pipeline runs automatically on an agent, executing arbitrary steps and reading any CI secrets exposed to the job. No public PoC is published, but the spoof requires only standard git tooling and knowledge of one allowlisted name.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.5% exploitation probability (EPSS)

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

Alert me

AnalysisAIv3 – Jun 30, 2026

Approval-gate bypass in Woodpecker CI before 3.15.0 lets an attacker who can open a merge request from a fork against a GitLab-backed repository run unapproved, attacker-controlled pipelines. Because the GitLab forge driver populates pipeline.Author from the spoofable git commit author name (commit.author.name) rather than the GitLab-validated user identity, an attacker simply sets the commit author to a name listed in ApprovalAllowedUsers, making needsApproval return false. This grants arbitrary CI step execution on a Woodpecker agent and exposure of CI secrets; there is no public exploit identified at time of analysis, but the issue was reported by VulnCheck and is trivially reproducible.

Earlier versions of this analysis (2)
v2 Jun 30, 2026 - 17:28 cvss changed CVSS 9.2

Approval-gate bypass in Woodpecker CI before 3.15.0 lets an external contributor run un-approved pipelines when the instance uses the GitLab forge driver. Because GitLab webhook payloads carry an attacker-controlled git commit author name (commit.author.name) that GitLab does not verify, an attacker who can open a merge request from a fork can spoof that name to match an entry in ApprovalAllowedUsers, making needsApproval return false and executing arbitrary pipeline steps on a Woodpecker agent with access to CI secrets. There is no public exploit identified at time of analysis and it is not listed in CISA KEV, but a vendor patch (v3.15.0) and detailed VulnCheck advisory exist.

v1 Jun 30, 2026 - 17:18 CVSS 8.1

Approval-gate bypass in Woodpecker CI before 3.15.0 lets an external contributor using the GitLab forge driver run unapproved fork pipelines by spoofing the git commit author name. Because the ApprovalAllowedUsers check is matched against pipeline.Author - derived from the unverified, attacker-controlled commit.author.name in the GitLab webhook - anyone who can open a merge request from a fork can impersonate a trusted user, causing needsApproval to return false and executing arbitrary pipeline steps with access to CI secrets. No public exploit identified at time of analysis, and the issue is GitLab-specific; Gitea, Forgejo, GitHub, and Bitbucket drivers are unaffected.

RemediationAI

Vendor-released patch: upgrade Woodpecker CI to v3.15.0 or later (https://github.com/woodpecker-ci/woodpecker/releases/tag/v3.15.0), which derives pipeline.Author from the GitLab-validated user (hook.User.Username) instead of the spoofable commit author name. If you cannot upgrade immediately and run a GitLab-backed instance, consider these compensating controls: temporarily empty or remove the ApprovalAllowedUsers list so every fork pipeline requires manual approval (trade-off: more manual approval overhead for trusted contributors); disable automatic pipeline execution for merge requests originating from forks (trade-off: slower feedback for legitimate external contributors); and scope down or rotate CI secrets so that fork-triggered runs cannot reach sensitive credentials (trade-off: some pipelines that legitimately need those secrets will fail until access is re-granted). Validate the fix and details against the VulnCheck advisory (https://www.vulncheck.com/advisories/woodpecker-gitlab-approval-gate-bypass-via-spoofable-commit-author-name).

Affected VersionsENISA

woodpecker 0 <3.15.0

Affected Packages

euvd woodpecker fix: 3.15.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

Woodpecker CI is a lightweight, self-hosted, container-based continuous integration engine (cpe:2.3:a:woodpecker-ci:woodpecker) that pulls work from forge webhooks. The flaw is a CWE-290 Authentication Bypass by Spoofing: the fork-approval security boundary compares trusted-author membership (ApprovalAllowedUsers) against pipeline.Author. In server/forge/gitlab/convert.go the merge-request handler set pipeline.Author = author.Name, deriving identity from commit.author.name carried in the GitLab MergeEvent webhook. GitLab does not verify the git commit author name against the authenticated actor, so it is fully attacker-controlled. The fix (PR #6653, commit 98faae77) replaces this with the forge-validated hook.User.Username / hook.UserUsername for merge, push and tag events. Per the advisory and the description, the Gitea, Forgejo, GitHub and Bitbucket drivers already derived the author from the validated sender/actor and were never affected; only the GitLab driver is.

Know when Woodpecker 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 (VulnCheck) PRIMARY 9.2 HIGH
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 8.1 HIGH

Remote and unauthenticated against Woodpecker (PR:N/UI:N), but AC:H because it needs the GitLab driver, a populated ApprovalAllowedUsers list, and a known allowlisted name; full C/I/A from RCE on the agent and secret theft.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
High
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

5
Analysis Updated
Jun 30, 2026 - 17:28 vuln.today
v3 - CVSS changed
Analysis Updated
Jun 30, 2026 - 17:28 vuln.today
v2 - CVSS changed
Severity Changed
Jun 30, 2026 - 17:22 NVD
HIGH CRITICAL
CVSS changed
Jun 30, 2026 - 17:22 NVD
8.1 (HIGH) 9.2 (CRITICAL)
CVE Published
Jun 30, 2026 - 15:57 cve.org
HIGH 8.1

DescriptionCVE.org

Woodpecker before 3.15.0 matches the ApprovalAllowedUsers bypass list against pipeline.Author. For the GitLab forge driver, pipeline.Author is populated from the git commit author name (commit.author.name) carried in the webhook payload, which is attacker-controlled and not verified by GitLab. A user who can open a merge request from a fork can set the commit author name to match an entry in ApprovalAllowedUsers, causing needsApproval to return false so the pipeline runs without the required approval. This defeats the fork-approval security boundary and allows execution of attacker-controlled pipeline steps on a Woodpecker agent and exfiltration of CI secrets exposed to the run. Other built-in forge drivers (Gitea, Forgejo, GitHub, Bitbucket) derive pipeline.Author from the forge-validated sender/actor identity and are not affected.

Executive ViewAI

Why It Matters

Woodpecker CI versions before 3.15.0 with GitLab integration contain a critical approval-gate bypass that allows attackers to run unauthorized CI pipelines and access CI secrets. Organizations using this configuration can have their continuous integration pipelines compromised by threat actors who can fork repositories, enabling arbitrary code execution within their infrastructure. Immediate patching is required to prevent unauthorized pipeline execution and credential exposure.

Business Impact: Severe
Compensating Controls

Apply vendor patch: Woodpecker CI 3.15.0 or later

Threat Intelligence Overview

EPSS Score
0.5%
Top 58% exploitable
Prevalence
Low
niche self-hosted CI engine, small footprint, GitLab-driver subset only
Social Media
1
Sightings
Data Quality
7 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 CRITICAL
CISA KEV No
Public POC No
EPSS 0.5%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
Very High
Technical Impact
Total

Priority Score

47
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +46
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.

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