Description
The GET /api/v1/user/actions/runners/registration-token endpoint (and its owner- and repository-level equivalents) creates a new runner registration token if none exists, yet the API scope middleware classifies it as read-only because it is a GET request. A holder of a leaked read:user-scoped token can therefore mint a registration token and register a malicious Actions runner that executes workflow jobs with access to repository secrets and source code.
Published: 2026-08-13
Score: n/a
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Gitea API endpoint for retrieving the runner registration token is mistakenly classified as read-only, yet its operation creates a new registration token when none exists. This flaw allows an attacker who possesses a read:user‑scoped access token to generate a valid runner token and register a malicious Actions runner. Once registered, the runner can execute workflow jobs with full access to repository secrets and source code, effectively granting the attacker write access and the ability to exfiltrate or modify data. The weakness is a classic privilege‑escalation issue, reflected by CWE‑269.

Affected Systems

The vulnerability exists in Gitea Open Source Git Server, all distributions that expose the /api/v1/user/actions/runners/registration-token endpoint. Versions prior to the 1.25.5 release are affected. No specific sub‑versions are listed, so any deployment using Gitea before 1.25.5 should be considered vulnerable.

Risk and Exploitability

The vulnerability is high risk, as it can lead to full repository compromise. The official CVSS score is not provided, but the impact is severe due to execution of arbitrary code in the CI environment. EPSS data is unavailable, so no numeric exploitation probability can be quoted, but the absence of a mitigated token scope makes exploitation straightforward for anyone with a leaked read token. The vulnerability is not listed in the CISA KEV catalog, but its potential for widespread impact warrants urgent remediation. The likely attack vector is via a compromised or leaked read‑only token that the attacker can use to call the endpoint and create a malicious runner.

Generated by OpenCVE AI on August 13, 2026 at 18:40 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply Gitea version 1.25.5 or later to disable the write operation behind the GET endpoint
  • Revoke any leaked or unnecessary read:user tokens and issue new tokens with only the scopes required for legitimate use
  • Enforce minimum necessary permissions for API tokens and monitor token usage to detect anomalous patterns, such as unexpected runner registration events

Generated by OpenCVE AI on August 13, 2026 at 18:40 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 13 Aug 2026 17:00:00 +0000

Type Values Removed Values Added
Description The GET /api/v1/user/actions/runners/registration-token endpoint (and its owner- and repository-level equivalents) creates a new runner registration token if none exists, yet the API scope middleware classifies it as read-only because it is a GET request. A holder of a leaked read:user-scoped token can therefore mint a registration token and register a malicious Actions runner that executes workflow jobs with access to repository secrets and source code.
Title Gitea runner registration-token GET endpoint performs a write under a read-only token scope
Weaknesses CWE-269
References

Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: Gitea

Published:

Updated: 2026-08-13T16:48:52.623Z

Reserved: 2026-03-03T03:25:28.686Z

Link: CVE-2026-24059

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-13T17:17:21.887

Modified: 2026-08-13T17:17:21.887

Link: CVE-2026-24059

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-13T18:45:04Z

Weaknesses
  • CWE-269

    Improper Privilege Management