- Top reward
- $1,500
- Top severity paid
- Critical
- Assets in scope
- 14
- Public CVEs
- 5
- Last change
- No changes yet
At a glance
What to know before you start testing.
- Pays from $1,500
- for critical bugs.
- Report on Sorona
- Submit through the program page.
- Partial safe harbor
- Some legal protection; read the terms.
- Publish after a fix
- Coordinate the timing with the company.
Rewards
What Sorona lists as the payout for each severity.
| Severity | Relative size | Reward |
|---|---|---|
| Critical | $1,500+ | |
| High | $700+ | |
| Medium | $300+ | |
| Low |
|
$100 $100 / 1 month Claude Max |
- Safe harbor
-
Partial
Sorona will not pursue legal action against you for good-faith research submitted to us in line with this policy. We cannot speak for the upstream project, its vendor, or any third party, and we do not grant authorization on their behalf.
- Hall of fame
-
Yes
The reward is public thanks, with anonymity respected on request.
Summarised with AI from the program policy on Sorona, read 12 Nov 2026, and checked word for word against it. Read the original
Scope
14 assets you may test, 6 excluded.
Web 1
- https://woodpecker-ci.org
Products and areas 13
- Approval settings for pull requests from forks and from outside collaborators
- Cron pipelines, manual triggering and pipeline restart, all of which start work outside a forge event
- Log storage, log streaming and the retention of pipeline output
- Plugin execution and the privileged plugin allow-list that decides which images may request elevated container settings
- Secret storage and the rules deciding which secret is available to which repository, event type, branch and plugin image
- The agent and server protocol, the gRPC connection between them and the shared agent secret that authenticates an agent
- The execution backends, docker, kubernetes and local, and the container or process configuration each produces from a step definition
- The forge integrations for Gitea, Forgejo, GitHub, GitLab and Bitbucket, covering the OAuth flow, the tokens produced and how repository permissions are read back
- The pipeline configuration parser, including when conditions, matrix expansion, the step and service definitions and the substitution of environment values
- The policy asks reporters not to open a public issue and to email [email protected], with fixes published as GitHub Security Advisories. It declares no boundary narrower than Woodpecker itself
- The web UI, the REST API behind it and the CLI that uses the same API
- User and repository permission synchronisation from the forge, including how admin, write and read map into Woodpecker
- Webhook handling and the signature validation that decides whether an event genuinely came from the forge
Out of scope (6)
- A pipeline an operator wrote or a plugin they deliberately added to the privileged allow-list
- Drone, the upstream project this was forked from
- The container runtime and the Kubernetes cluster agents execute on
- The forges Woodpecker connects to, each with its own security process
- Third-party plugin images, whose contents are the plugin author's responsibility
- woodpecker.co, an unrelated company that shares part of the name
Rules
What the policy asks of you, and the bug types it won't reward, quoted from Sorona's policy. "We" in these lines means Sorona, not this site.
While testing
-
Submit through sorona.xyz. This project runs no bounty of its own; we validate, coordinate disclosure with the maintainers, and pay you directly.
-
Report privately by email to the address on the policy page . The policy says directly not to file a public issue
-
Name the forge. The Gitea, Forgejo, GitHub, GitLab and Bitbucket integrations authenticate and authorise differently and a finding in one often does not exist in the others
-
Give the pipeline YAML, the event type and the secret configuration. Secret exposure findings depend entirely on the event and branch rules attached to a secret
-
Say which backend executed the steps: docker, kubernetes or local. Each builds a different container configuration and the local backend has a very different boundary
Summarised with AI from the program policy on Sorona, read 12 Nov 2026, and checked word for word against it. Read the original
Changes
Tracked since 11 Nov 2026. Last checked 1 hour ago.
No changes yet. When the rewards or scope move, you will see it here and in the RSS feed.
Public CVEs
Published vulnerabilities in this vendor's products, from the NVD.
| CVE | Summary | Severity | Published |
|---|---|---|---|
| CVE-2024-41121 | Woodpecker is a simple yet powerful CI/CD engine with great extensibility. The server allow to create any user who can trigger a pipeline run malicious workflows: 1. Those workflows can either lead to a host takeover that runs the agent executing the workflow. 2. Or allow to extract the secrets who would be normally provided to the plugins who's entrypoint are overwritten. This issue has been addr | High 8.8 | 19 Jul 2024 |
| CVE-2024-41122 | Woodpecker is a simple yet powerful CI/CD engine with great extensibility. The server allow to create any user who can trigger a pipeline run malicious workflows: 1. Those workflows can either lead to a host takeover that runs the agent executing the workflow. 2. Or allow to extract the secrets who would be normally provided to the plugins who's entrypoint are overwritten. This issue has been addr | High 7.5 | 19 Jul 2024 |
| CVE-2023-40034 | Woodpecker is a community fork of the Drone CI system. In affected versions an attacker can post malformed webhook data witch lead to an update of the repository data that can e.g. allow the takeover of an repo. This is only critical if the CI is configured for public usage and connected to a forge witch is also in public usage. This issue has been addressed in version 1.0.2. Users are advised to | High 8.1 | 16 Aug 2023 |
| CVE-2022-29947 | Woodpecker before 0.15.1 allows XSS via build logs because web/src/components/repo/build/BuildLog.vue lacks escaping. | Medium 6.1 | 29 Apr 2022 |
Original policy
Copied from sorona.xyz on 12 Nov 2026. The summaries on this page are made from it; the live page may have changed since.
Skip to content What this pays This project runs no bounty of its own. sorona.xyz pays you directly on qualified, reproduced findings. Severity │ sorona.xyz pays Critical │ $1,500+ High │ $700+ Medium │ $300+ Low │ $100 / 1 month Claude Max Submit a vulnerability CVE history 2 Last 12 months 5 Lifetime Secret exposure 35 % Auth bypass 30 % Access control 20 % Command injection 15 % Latest advisories Loading the feed Overview Woodpecker CI is the community fork of Drone and the CI engine a large part of the self-hosted and Gitea ecosystem runs. The server holds OAuth tokens for the forge it connects to along with the secrets every pipeline needs, and agents execute pipeline steps as containers on machines inside the network. Anyone who can influence a pipeline definition can reach both of those. The project is volunteer-run with no commercial backer, its SECURITY.md offers public thanks in exchange for a private report, and there is no money on any platform. sorona.xyz pays you directly on qualified, reproduced findings. In scope The policy asks reporters not to open a public issue and to email [email protected] , with fixes published as GitHub Security Advisories. It declares no boundary narrower than Woodpecker itself The forge integrations for Gitea, Forgejo, GitHub, GitLab and Bitbucket, covering the OAuth flow, the tokens produced and how repository permissions are read back Webhook handling and the signature validation that decides whether an event genuinely came from the forge The pipeline configuration parser, including when conditions, matrix expansion, the step and service definitions and the substitution of environment values Secret storage and the rules deciding which secret is available to which repository, event type, branch and plugin image The agent and server protocol, the gRPC connection between them and the shared agent secret that authenticates an agent The execution backends, docker, kubernetes and local, and the container or process configuration each produces from a step definition Plugin execution and the privileged plugin allow-list that decides which images may request elevated container settings The web UI, the REST API behind it and the CLI that uses the same API User and repository permission synchronisation from the forge, including how admin, write and read map into Woodpecker Cron pipelines, manual triggering and pipeline restart, all of which start work outside a forge event Log storage, log streaming and the retention of pipeline output Approval settings for pull requests from forks and from outside collaborators Out of scope woodpecker.co, an unrelated company that shares part of the name The forges Woodpecker connects to, each with its own security process A pipeline an operator wrote or a plugin they deliberately added to the privileged allow-list The container runtime and the Kubernetes cluster agents execute on Third-party plugin images, whose contents are the plugin author's responsibility Drone, the upstream project this was forked from Most-valued findings Secret exposure to a pipeline that should not receive it, above all on pull request events from forks. That is the defining CI vulnerability class and a self-hosted server's secrets usually reach production Forge webhook validation bypass, where an event that did not come from the forge starts a pipeline with the repository's secrets attached The privileged plugin allow-list, where a step obtains privileged container settings without being on it, which is a container escape onto the agent host Permission synchronisation defects granting a user write or admin rights on a repository the forge does not grant them, since Woodpecker trusts its own cached copy of that mapping The agent and server protocol accepting an agent that does not hold the shared secret, because agents receive pipeline definitions and the secrets that go with them Configuration parsing where a when condition, a matrix value or a substitution executes on the server rather than inside the step container OAuth token handling on the server, which is standing access to the source code the forge holds for every user who logged in The API exposing logs, secrets or pipeline configuration for repositories the caller cannot access Anything that lets a fork or an outside collaborator bypass the approval setting meant to gate their pipelines Program rules Submit through sorona.xyz. This project runs no bounty of its own; we validate, coordinate disclosure with the maintainers, and pay you directly. Report privately by email to [email protected] . The policy says directly not to file a public issue The reward is public thanks, with anonymity respected on request. Nothing is paid at any severity and there is no commercial vendor behind the project woodpecker.co is an unrelated cold-email company with its own disclosure programme. Filing there does nothing for this project Name the forge. The Gitea, Forgejo, GitHub, GitLab and Bitbucket integrations authenticate and authorise differently and a finding in one often does not exist in the others Give the pipeline YAML, the event type and the secret configuration. Secret exposure findings depend entirely on the event and branch rules attached to a secret Say which backend executed the steps: docker, kubernetes or local. Each builds a different container configuration and the local backend has a very different boundary Disclosure Coordinated privately by email with a volunteer maintainer team, published as a GitHub Security Advisory alongside a fixed release. Credit is public by default and withheld on request. The team is small, so allow for a slower cycle than a vendor programme and hold detail until the advisory and the release are out. Safe harbor Sorona will not pursue legal action against you for good-faith research submitted to us in line with this policy. We cannot speak for the upstream project, its vendor, or any third party, and we do not grant authorization on their behalf. You are responsible for understanding and following the laws that apply to you, wherever you are, and for staying within any scope the project has defined. Submit a vulnerability