CVE-2026-61549
Description
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.
How to fix
- go.woodpecker-ci.org/woodpecker/v33.16.0 or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| go.woodpecker-ci.org/woodpecker/v3Go | v < 3.16.0 | 3.16.0 |
| github.com/woodpecker-ci/woodpeckerGo | 1.0.0 ≤ v ≤ 1.0.4, 1.0.0 ≤ v | — |
| go.woodpecker-ci.org/woodpecker/v2Go | v ≤ 2.8.3, No range specified | — |
| go.woodpecker-ci.org/woodpeckerGo | No range specified | — |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.