---
id: CVE-2026-116474
title: Gitea Actions job token spoofing of instance-signed commits
summary: >-
  The `GITEA_TOKEN` of a Gitea Actions job authenticates as the `gitea-actions`
  system user, and the `/api/v1/user` email and GPG key endpoints accepted that
  user, so a job could register an email address and a GPG key on it; without
  requi…
severity: none
cwe:
  - CWE-347
vendor: Gitea
product: gitea.dev
affected:
  - gitea.dev >= 1.19.0 < 28.3.0
published: '2026-11-01'
updated: '2026-11-01'
sourceUpdated: '2026-11-01T09:48:38.763Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-116474'
references:
  - url: 'https://github.com/go-gitea/gitea/security/advisories/GHSA-mf6p-vqpw-3r7x'
    label: GitHub Security Advisory GHSA-mf6p-vqpw-3r7x
  - url: 'https://github.com/go-gitea/gitea/pull/39945'
    label: 'Fix: go-gitea/gitea pull request #39945'
  - url: 'https://github.com/go-gitea/gitea/pull/40115'
    label: 'Fix backport to release/v28: go-gitea/gitea pull request #40115'
  - url: 'https://blog.gitea.com/release-of-28.3.0/'
    label: Gitea 28.3.0 release announcement
  - url: 'https://github.com/go-gitea/gitea/releases/tag/v28.3.0'
    label: go-gitea/gitea v28.3.0 release
tags:
  - cve.org
epss: 0.00108
epssPercentile: 0.01184
ingestedAt: '2026-11-05T18:28:50.702Z'
---

## Overview

The `GITEA_TOKEN` of a Gitea Actions job authenticates as the `gitea-actions` system user, and the `/api/v1/user` email and GPG key endpoints accepted that user, so a job could register an email address and a GPG key on it; without required email confirmation (the default) the address is stored as activated. Commit verification treats a key without a real owner as the instance signing key, so any user who can run a workflow job could make commits signed with their own key show as trusted and signed by the instance in every repository where they appear, including pull requests to repositories the user cannot write to. The impact is limited to the displayed signature status: enforcement such as required signed commits only checks that a signature is verified and is unaffected, and no access is gained. The `/api/v1/user` routes now reject system users.

## Affected

- `gitea.dev >= 1.19.0 < 28.3.0`

## Remediation

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