| Package | Affected versions | Patched versions |
|---|---|---|
| github.com/woodpecker-ci/woodpecker | ≥ 1.0.0, ≤ 1.0.4≥ 1.0.0 | |
| go.woodpecker-ci.org/woodpecker | all versions | |
| go.woodpecker-ci.org/woodpecker/v2 | ≤ 2.8.3all versions | |
| go.woodpecker-ci.org/woodpecker/v3 | < 3.16.0 | 3.16.0 |
A privilege escalation vulnerability affects Woodpecker instances using the Kubernetes backend.
The pipeline option backend_options.kubernetes.serviceAccountName was passed directly to the pod spec without any admin gating.
Who is impacted: any operator running the Kubernetes backend. Any user with Push permission on a connected repository can run pipeline pods under an arbitrary ServiceAccount in the pipeline namespace, gaining that account's RBAC permissions. If a privileged ServiceAccount is reachable in that namespace, this can lead to secret exfiltration (database credentials, API keys, TLS certs) and full cluster takeover.
https://github.com/woodpecker-ci/woodpecker/pull/6792
Operators who cannot upgrade immediately can mitigate by any of:
default ServiceAccount minimally privileged.serviceAccountName.609ba481b5e912f59aaae8ca7bc22b44523c5e37v1.0.0 through v3.15.0pipeline/backend/kubernetes/backend_options.go (field ServiceAccountName),
pipeline/backend/kubernetes/pod.go (assigned to pod spec with no gating)Running one of these products? Scan your site to see whether it exposes a vulnerable version.
Scan my site free