External risk intelligence

Woodpecker CI/CD Service Account Privilege Escalation in Kubernetes Backend

CVE advisorySeverity: CRITICAL (CVSS 9.0)

CVE-2026-61549

Woodpecker is a CI/CD engine that typically requires authentication and integration with source code management systems. While the CI/CD platform itself may be reachable via the network, this vulnerability specifically requires an authenticated user with repository push permissions to trigger, making it less likely to be directly exposed to the unauthenticated public internet.

Halo Surface Signal: 3 out of 5 — possibly public-facing.

External exposure likelihood

Horizon Alert

Summary of the vulnerability and why it matters

This advisory describes a vulnerability in Woodpecker, a CI/CD engine, that could allow an authenticated user with repository push permissions to run pipeline code with elevated privileges, potentially leading to the exfiltration of sensitive data or cluster takeover. The issue stems from how the system handles service account credentials in its Kubernetes backend.

  • Users with push access can abuse service accounts.
  • This could compromise sensitive data and cluster control.
  • Confirm relevance and assess potential exposure.

Attack Path

How an attacker could exploit the issue

An attacker with repository push access can leverage this vulnerability in Woodpecker CI/CD to compromise the entire cluster. By creating a malicious pipeline, they can manipulate the Kubernetes backend options to specify any ServiceAccount. This allows the pipeline pods to run under the permissions of the chosen ServiceAccount, potentially granting the attacker elevated privileges and access to sensitive information.

  • Requires repository push permission.
  • Pipeline configuration triggers vulnerability.
  • Risk of secret exfiltration and cluster takeover.

Live Threat

Current exploitation, exposure, and threat context

A user with push permissions on a connected repository could exploit this vulnerability to run pipeline pods under an arbitrary ServiceAccount. When a privileged ServiceAccount is reachable, an attacker may exfiltrate secrets or take over the cluster.

  • Service Account and RBAC permissions.
  • Unauthorized pipeline pod execution.
  • Potential cluster takeover or data exfiltration.

Operational Fix

Recommended remediation, mitigation, and detection steps

Responsible teams likely include platform engineering and security operations, who manage the CI/CD infrastructure and its integrations, alongside application owners who may provision or utilize the Woodpecker engine. The initial step is to inventory all Woodpecker deployments, assess their network exposure and criticality, identify the accountable owners for each instance, and then prioritize remediation based on potential impact, considering the need for vendor coordination or temporary risk mitigation.

  • Platform and security teams own the issue.
  • Verify Woodpecker deployment reachability and criticality.
  • Plan remediation or coordinate vendor updates.

Supplementary metadata

Validate whether this threat affects your internet-facing exposure.

Halo Threat Intelligence helps prioritize remediation with Halo Surface Signal and H/A/L/O context. Start exposure validation with a free external attack surface trial.

Frequently asked questions

What is Woodpecker CI/CD?

Woodpecker is an automation engine used by engineering teams to build, test, and deploy software. It functions as a CI/CD pipeline, connecting to version control repositories to execute automated tasks. When configured with a Kubernetes backend, it launches these tasks as pods within a cluster to manage workload execution.

How does CVE-2026-61549 cause privilege escalation?

This vulnerability involves improper authorization, specifically categorized as CWE-269 and CWE-862. The system fails to restrict which Kubernetes service accounts a pipeline can use. By misusing pipeline configuration settings, an attacker can force a pod to run with the permissions of a different, potentially highly privileged service account, gaining unauthorized access to cluster resources.

What triggers this vulnerability?

The flaw is triggered when a user with repository push permissions defines a specific Kubernetes service account within the pipeline configuration. Crucially, the vulnerability does not occur if users lack push access to the repository or if the pipeline configuration remains unchanged and restricted.

Is my instance at risk according to Halo Surface Signal?

Halo Surface Signal notes that while the Woodpecker interface might be accessible over a network, this specific issue requires an attacker to already have authenticated push permissions on a connected repository. This requirement makes the risk different from a simple public-facing exploit, as it depends on internal project access levels.

How do I secure my Woodpecker environment?

The primary step is to update Woodpecker to version 3.16.0, which resolves the improper authorization. Teams should inventory all active instances, verify current versions, and coordinate with engineering owners to ensure the update is applied, especially in environments where Kubernetes integration is used to manage sensitive cluster secrets.

References