Findings

CVE-2026-104626

Gitea fork workflow job revival through later approval

Published Oct 14, 2026 · updated Oct 14, 2026

A user who can open a fork pull request can place workflow content with a shared run-level concurrency group into a Gitea Actions run that is awaiting approval. When a later run in that group cancels the blocked job, the run becomes terminal while still marked as needing approval. If a maintainer later approves the run, Gitea passed the already-cancelled job back through concurrency preparation, set it to waiting, and made it claimable by a matching runner, executing fork-controlled workflow code. Exploitation requires the maintainer's later approval action, Actions to be enabled, and a runner that accepts the repository's jobs.

Code

The project this record applies to. Exploit listings stay in References.

Timeline

Detection, updates, and resolution for this record.

  1. Oct 14, 2026 · GitHub Advisory Database

    Detected

    A user who can open a fork pull request can place workflow content with a shared run-level concurrency group into a Gitea Actions run that is awaiting approval. When a later run in that group cancels the blocked job, the run becomes terminal while still marked as needing approval. If a maintainer later approves the run, Gitea passed the already-cancelled job back through concurrency preparation, s

  2. Oct 14, 2026 · GitHub Advisory Database

    Fix available

    gitea fixed in 28.0.0

  3. Oct 14, 2026 · GitHub Advisory Database

    Fix available

    gitea fixed in 28.0.0

  4. Oct 14, 2026 · GitHub Advisory Database

    Updated

    A user who can open a fork pull request can place workflow content with a shared run-level concurrency group into a Gitea Actions run that is awaiting approval. When a later run in that group cancels the blocked job, the run becomes terminal while still marked as needing approval. If a maintainer later approves the run, Gitea passed the already-cancelled job back through concurrency preparation, s

Affected

  • Bitnami gitea0 → 28.0.0

Sources

References

CVE-2026-104626 · ZeroDay Findings