---
id: CVE-2026-104626
title: >-
  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
summary: >-
  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 term…
severity: none
cwe:
  - CWE-841
vendor: Gitea
product: gitea.dev
affected:
  - gitea.dev <= 1.27.3
published: '2026-10-06'
updated: '2026-10-06'
sourceUpdated: '2026-10-06T20:17:15.120'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-104626'
references:
  - url: 'https://blog.gitea.com/release-of-28.0.0/'
    label: 88ee5874-cf24-4952-aea0-31affedb7ff2
  - url: 'https://github.com/go-gitea/gitea/pull/39399'
    label: 88ee5874-cf24-4952-aea0-31affedb7ff2
  - url: 'https://github.com/go-gitea/gitea/releases/tag/v28.0.0'
    label: 88ee5874-cf24-4952-aea0-31affedb7ff2
  - url: 'https://github.com/go-gitea/gitea/security/advisories/GHSA-93pj-3x56-5gc2'
    label: 88ee5874-cf24-4952-aea0-31affedb7ff2
tags:
  - nvd
  - cve.org
ingestedAt: '2026-10-06T20:16:42.499Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
