Description
Gitea Actions blocks the jobs of workflow runs from first-time fork pull request contributors until a maintainer approves the run. The rerun path only required a run to be finished and built the new attempt's jobs without considering the pending approval, so when a user with Actions write access cancelled a run that was awaiting approval and then re-ran it, the new jobs were created as waiting rather than blocked while the run still recorded that approval was required. Cancelling and re-running stale fork checks is a routine action that does not involve the approval control, so where Actions is enabled and a matching runner is registered, workflow code taken from the fork pull request head could run on the repository's runners without an explicit approval.
Published: 2026-10-06
Score: 8.8 High
EPSS: < 1% Very Low
KEV: No
Impact: Execution of arbitrary code on repository runners
Action: Immediate Patch
AI Analysis

Impact

Gitea Actions restricts workflow runs from fork pull requests until a maintainer approves the run. However, when a run is cancelled and then rerun, the system fails to re‑enforce the approval check. A contributor with write access to the Actions configuration can cancel a pending run and immediately trigger a rerun, which is queued as if it had been approved. The workflow jobs are then executed on the repository's runners with code pulled from the fork, allowing the attacker to run arbitrary code on the CI infrastructure. The flaw involves improper authorization controls (CWE‑285).

Affected Systems

All Gitea installations with Actions enabled and running any version prior to 28.0.0 are affected. The 28.0.0 release restores proper approval checks on rer. The impact is confined to the vendor Gitea and requires an update of the affected version to mitigate.

Risk and Exploitability

The vulnerability can be exploited by any user with write access to the Actions configuration, a privilege commonly granted within repositories. Once the attacker cancels and reruns a waiting job, the unverified code executes on the shared runners. The CVSS score of 8.8 indicates high severity, while an EPSS score of less than 1% suggests a low probability of widespread exploitation. Despite this, the ability to execute arbitrary code on operational CI runners makes the risk severe, and the vulnerability is not yet catalogued in CISA's KEV.

Generated by OpenCVE AI on October 8, 2026 at 00:24 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to Gitea 28.0.0 or later, which restores the approval check on reruns
  • If an upgrade cannot be applied right away, restrict write access to the Actions setting so that only maintainers can create or modify workflow files, and prevent fork pull requests from running workflows that lack approval
  • Consider disabling Gitea Actions entirely for repositories that accept fork pull requests until the fix is in place, or remove shared runners that are exposed to such repositories

Generated by OpenCVE AI on October 8, 2026 at 00:24 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 23:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-264
CWE-284

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

Type Values Removed Values Added
Weaknesses CWE-285
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 21:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-264
CWE-284

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

Type Values Removed Values Added
Description Gitea Actions blocks the jobs of workflow runs from first-time fork pull request contributors until a maintainer approves the run. The rerun path only required a run to be finished and built the new attempt's jobs without considering the pending approval, so when a user with Actions write access cancelled a run that was awaiting approval and then re-ran it, the new jobs were created as waiting rather than blocked while the run still recorded that approval was required. Cancelling and re-running stale fork checks is a routine action that does not involve the approval control, so where Actions is enabled and a matching runner is registered, workflow code taken from the fork pull request head could run on the repository's runners without an explicit approval.
Title Gitea fork workflow approval bypass through cancel and rerun
References

cve-icon MITRE

Status: PUBLISHED

Assigner: Gitea

Published:

Updated: 2026-10-07T20:21:23.687Z

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

Link: CVE-2026-104632

cve-icon Vulnrichment

Updated: 2026-10-07T20:21:17.363Z

cve-icon NVD

Status : Analyzed

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

Modified: 2026-10-13T17:20:01.013

Link: CVE-2026-104632

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-08T00:30:04Z

Weaknesses