CVE-2026-61549 json
Woodpecker: Privilege escalation via unrestricted serviceAccountName in the Kubernetes backend
published 2026-07-14 3 mo ago modified 2026-09-30 39 d ago also GHSA-qf34-295c-26v8 , GO-2026-5992 , EUVD-2026-78774
- cvss
- 9.0
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 20%
- public exploits
- 0
- none known
Summary
Woodpecker is a CI/CD engine. From 1.0.0 until 3.16.0, pipeline/backend/kubernetes/backend_options.go defines backend_options.kubernetes.serviceAccountName, and the Kubernetes backend in pipeline/backend/kubernetes/pod.go copies that pipeline-step value directly into the pod specification without administrator authorization. Any user with Push permission on a connected repository can therefore run pipeline pods under an arbitrary ServiceAccount in the pipeline namespace and inherit that account's RBAC permissions. When a privileged ServiceAccount is reachable, the attacker can exfiltrate secrets such as database credentials, API keys, and TLS certificates and may take over the cluster. This issue is fixed in version 3.16.0.
Patch / fix
- go go.woodpecker-ci.org/woodpecker/v3 3.16.0
- govulncheck-vulndb openSUSE Leap 16.0 0.0.20260723T184607-160000.1.1
opensuse advisories openSUSE-SU-2026:21483-1
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- 55 d ago
Exploit prediction
0.28% chance of exploitation in the next 30 days, higher than 20% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 9.0 | CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H |
| CNA | 4.0 | 9.0 | CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/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.16.0 |
3.16.0 |
| go | github.com/woodpecker-ci/woodpecker | >=1.0.0, <=1.0.4 >=1.0.0 |
no fix listed |
| go | go.woodpecker-ci.org/woodpecker/v2 | <=2.8.3 all versions |
no fix listed |
| go | go.woodpecker-ci.org/woodpecker | all versions |
no fix listed |
Affected products
- woodpecker-ci woodpecker
Classification
References
-
github.com
/woodpecker-ci/woodpecker/pull/6792
web, patch
- github.com /woodpecker-ci/woodpecker/commit/5df9d52260626c074c6caafb2dc83d3bc6b53be1
- github.com /woodpecker-ci/woodpecker/commit/609ba481b5e912f59aaae8ca7bc22b44523c5e37
-
github.com
/woodpecker-ci/woodpecker/security/advisories/GHSA-qf34-295c-26v8
web, advisory
- github.com /woodpecker-ci/woodpecker/releases/tag/v3.16.0
-
github.com
/woodpecker-ci/woodpecker
package
Sources
- CVE List CVE-2026-61549
- GitHub Advisory GHSA-qf34-295c-26v8
- NVD CVE-2026-61549
- OSV GO-2026-5992
Fencer Vulns 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.