---
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: high
cvss: 8.8
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
cwe:
  - CWE-841
vendor: gitea
product: gitea
affected:
  - gitea < 28.0.0
patched:
  - gitea 28.0.0
published: '2026-10-06'
updated: '2026-10-13'
sourceUpdated: '2026-10-13T17:24:53.250'
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
epss: 0.00333
epssPercentile: 0.2634
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: total
  timestamp: '2026-10-07T20:19:04.289390Z'
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.

## Affected

- `gitea < 28.0.0`

## Remediation

Upgrade past the affected range:

- `gitea 28.0.0`
