CVE-2026-50141 json
Woodpecker gRPC agent_id metadata can be spoofed- cross-tenant agent impersonation
published 4mo ago modified 17d ago also EUVD-2026-37897 , GHSA-g7mm-9vx7-jm7h , GO-2026-5976
- cvss
- 7.1
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 37%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- go go.woodpecker-ci.org/woodpecker/v3 3.14.1
- woodpecker-ci woodpecker 3.14.1
- govulncheck-vulndb openSUSE Leap 16.0 0.0.20260723T184607-160000.1.1
opensuse advisories openSUSE-SU-2026:21483-1
- github.com/woodpecker-ci/woodpecker#6567 pull request
- github.com/woodpecker-ci/woodpecker#6569 pull request
Is CVE-2026-50141 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 4mo ago
Exploit prediction
0.43% chance of exploitation in the next 30 days, higher than 37% of all scored CVEs (FIRST EPSS, 2026-11-11).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 7.1 | 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 |
| CNA | 4.0 | 7.1 | 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 |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | go.woodpecker-ci.org/woodpecker/v3 | >=3.0.0, <3.14.1 |
3.14.1 |
| go | go.woodpecker-ci.org/woodpecker | all versions |
no fix listed |
| go | go.woodpecker-ci.org/woodpecker/v2 | all versions |
no fix listed |
Affected products
- woodpecker-ci woodpecker
Classification
References
-
github.com
/woodpecker-ci/woodpecker/pull/6567
web
-
github.com
/woodpecker-ci/woodpecker/pull/6569
web
-
github.com
/woodpecker-ci/woodpecker/security/advisories/GHSA-g7mm-9vx7-jm7h
web, advisory
-
github.com
/woodpecker-ci/woodpecker-security/issues/21
web
-
github.com
/woodpecker-ci/woodpecker/issues/6541
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-50141
advisory
-
github.com
/woodpecker-ci/woodpecker
package
Sources
- CVE List CVE-2026-50141
- GitHub Advisory GHSA-g7mm-9vx7-jm7h
- NVD CVE-2026-50141
- OSV GO-2026-5976
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.