CVE-2026-61549
Received Received - Intake

Privileged ServiceAccount Escalation in Woodpecker CI/CD

Vulnerability report for CVE-2026-61549, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-09-15

Last updated on: 2026-09-15

Assigner: GitHub, Inc.

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-09-15
Last Modified
2026-09-15
Generated
2026-09-15
AI Q&A
2026-09-15
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 3 associated CPEs
Vendor Product Version / Range
woodpecker ci_cd_engine From 1.0.0 (inc) to 3.16.0 (inc)
woodpecker-ci woodpecker 3.16.0
woodpecker-ci woodpecker From 1.0.0 (inc) to 3.15.0 (inc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-862 The product does not perform an authorization check when an actor attempts to access a resource or perform an action.
CWE-269 The product does not properly assign, modify, track, or check privileges for an actor, creating an unintended sphere of control for that actor.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability in Woodpecker CI/CD (versions 1.0.0 to 3.15.0) allows users with Push permission to run pipeline pods under an arbitrary ServiceAccount in the pipeline namespace. The Kubernetes backend copies the pipeline-step value for serviceAccountName directly into the pod specification without administrator authorization, enabling privilege escalation if a privileged ServiceAccount is reachable.

Detection Guidance

To detect this vulnerability, check Woodpecker CI versions between 1.0.0 and 3.15.0. Verify if the Kubernetes backend allows arbitrary serviceAccountName in pipeline steps. Inspect pipeline configurations for backend_options.kubernetes.serviceAccountName usage. Check if the WOODPECKER_BACKEND_K8S_SERVICE_ACCOUNT_NAME_ALLOW_FROM_STEP flag is enabled.

Impact Analysis

An attacker could exfiltrate sensitive data like database credentials, API keys, or TLS certificates. They may also take over the entire Kubernetes cluster if a privileged ServiceAccount is accessible, leading to full system compromise.

Compliance Impact

This vulnerability could lead to unauthorized access to sensitive data, violating GDPR's data protection requirements and HIPAA's safeguards for protected health information. Organizations may face compliance violations, legal penalties, and reputational damage.

Mitigation Strategies

Upgrade Woodpecker to version 3.16.0 or later to address the vulnerability. Ensure only authorized users have Push permissions on repositories.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-61549. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart