Description
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.
Published: 2026-10-06
Score: 8.8 High
EPSS: < 1% Very Low
KEV: No
Impact: Remote Code Execution via Actions
Action: Apply Patch
AI Analysis

Impact

This vulnerability allows a contributor to inject custom workflow files into a forked pull request that targets a repository with Actions enabled. The workflow is submitted under a shared run‑level concurrency group, causing the run to be queued waiting for approval. If a later run in the same group cancels the queued job, the run remains in a terminal state yet still marked as pending approval. When a repository maintainer subsequently approves the run, Gitea re‑enqueues the cancelled job, places it back into the waiting state, and permits any runner that accepts jobs from the repository to claim and execute it. The forked workflow code is thereby executed on the runner with the permissions granted to that runner, giving an attacker the ability to run arbitrary code on the infrastructure that hosts the runner. The flaw is rooted in improper management of concurrency groups (CWE‑841) and results in a high‑impact remote code execution risk.

Affected Systems

The flaw exists in Gitea repositories that host Actions, with the earliest affected releases being indicated in the advisory as versions preceding 28.0.0. The release notes for v28.0.0 contain the fix, so any Gitea project running a version older than 28.0.0 is vulnerable. The impact is limited to repositories where the attacker can open a fork pull request and where the repository maintainer later approves that pull request. The runner must be configured to accept jobs from the repository, which is a common configuration in open source projects.

Risk and Exploitability

The CVSS score is 8.8, indicating a high severity. The EPSS score is 0.00156 (0.156%), indicating a very low but nonzero exploitation probability, and the vulnerability is not listed in CISA KEV. Despite the lack of publicly available exploitation metrics, the description implies a serious flaw: the attacker can gain code execution by leveraging a legitimate maintainer action. The technical requirements—an enabled Actions workflow, a shared concurrency group, and a runner that accepts jobs from the repository—are typical in many open source projects. Because the attack requires the maintainer’s approval, the exploitability is conditional, but the potential damage from executing rogue workflow code on a runner is substantial. Overall, the risk remains high due to the remote code execution potential, even without quantified detection rates.

Generated by OpenCVE AI on October 7, 2026 at 23:03 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Gitea to version 28.0.0 or later, which removes the flaw in concurrency handling for workflow runs.
  • Temporarily disable Actions for the affected repository until the patch is applied.
  • Restrict runner access so that only trusted runners can accept jobs from this repository.

Generated by OpenCVE AI on October 7, 2026 at 23:03 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 13 Oct 2026 17:30:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:gitea:gitea:*:*:*:*:*:*:*:*

Wed, 07 Oct 2026 21:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}

ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Tue, 06 Oct 2026 23:30:00 +0000

Type Values Removed Values Added
First Time appeared Gitea
Gitea gitea
Vendors & Products Gitea
Gitea gitea

Tue, 06 Oct 2026 19:30:00 +0000

Type Values Removed Values Added
Description 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.
Title Gitea fork workflow job revival through later approval
Weaknesses CWE-841
References

cve-icon MITRE

Status: PUBLISHED

Assigner: Gitea

Published:

Updated: 2026-10-07T20:19:46.339Z

Reserved: 2026-10-04T21:57:35.546Z

Link: CVE-2026-104626

cve-icon Vulnrichment

Updated: 2026-10-07T20:19:36.989Z

cve-icon NVD

Status : Analyzed

Published: 2026-10-06T20:17:15.120

Modified: 2026-10-13T17:24:53.250

Link: CVE-2026-104626

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-07T23:15:08Z

Weaknesses
  • CWE-841

    Improper Enforcement of Behavioral Workflow