Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconObtain leaked read:user API token
-
DeliveryGET /api/v1/user/actions/runners/registration-token with token
-
ExploitAPI scope middleware approves as read-only
-
InstallServer mints and returns runner registration token
-
C2Register malicious self-hosted Actions runner
-
ExecuteWorkflow job executes on malicious runner
-
ImpactExfiltrate repository secrets and source code
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V8 - Authorization Least privilege enforcement
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | A valid Gitea API token with at minimum |
| Impact | The CVSS 3.1 score of 6.5 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N) correctly reflects low-complexity network exploitation with a low-privilege token, but understates integrity impact: registering a malicious runner allows arbitrary code execution within workflow context, which is an integrity impact the vendor's vector omits. EPSS at 0.16% (6th percentile) indicates no meaningful observed exploitation activity in the wild, and the vulnerability is not listed in CISA KEV, further supporting low current exploitation pressure. However, the attack chain is simple and entirely achievable with a single leaked token, making this a high-priority remediation target for any Gitea instance with Actions enabled. The primary real-world risk amplifier is token exposure - organizations that store Gitea API tokens in CI environment variables, dotfiles, or logs should treat this as elevated priority. The SSVC exploitation status is 'none' per available signals, the attack is automatable (single HTTP GET), and the technical impact is total on secrets and source code access, suggesting expedited remediation is warranted despite the moderate base score. |
| Exploit ScenarioDerived | An attacker discovers a Gitea API token with |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 14, 2026
Privilege escalation in Gitea Open Source Git Server before 1.25.5 allows an attacker holding a leaked read-only API token to mint a runner registration token and register a malicious Actions runner against the instance. The root cause is that the runner registration-token endpoints - at the user, organization, repository, and admin levels - are classified as read-only by the API scope middleware solely because they use the HTTP GET method, despite creating a token if none exists. With a valid registration token, the attacker can register a self-hosted runner that executes CI/CD workflow jobs, gaining access to repository secrets and source code. No public exploit code has been identified at time of analysis, and the EPSS score of 0.16% (6th percentile) indicates low observed exploitation probability.
RemediationAI
Upgrade to Gitea v1.25.5, which removes all four GetRegistrationToken API endpoints entirely rather than reclassifying their scope - the patch at https://github.com/go-gitea/gitea/pull/36801 deletes the handlers from admin/runners.go, user/runners.go, org/action.go, repo/action.go, and de-registers the routes in api.go. The release is available at https://github.com/go-gitea/gitea/releases/tag/v1.25.5. If an immediate upgrade is not possible, as a compensating control disable Gitea Actions at the instance level (via [actions] ENABLED = false in app.ini); this prevents runner registration and execution but also disables all CI/CD workflows, which may be unacceptable. An alternative is to audit and rotate all existing API tokens with read:user, read:org, or read:repo scope, and restrict API token issuance to trusted principals only - however, this does not eliminate the underlying flaw, only reduces the probability of a viable token being in attacker hands.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Gitea (CPE: cpe:2.3:a:gitea:gitea_open_source_git_server:*:*:*:*:*:*:*:*) implements a GitHub Actions-compatible CI/CD runner subsystem. The vulnerability (CWE-269: Improper Privilege Management) arises from a mismatch between HTTP method semantics and actual side effects: the API scope middleware unconditionally treats GET requests as read-only operations, but the GetRegistrationToken handler at routers/api/v1/user/runners.go, routers/api/v1/org/action.go, routers/api/v1/repo/action.go, and routers/api/v1/admin/runners.go calls shared.GetRegistrationToken(), which creates a new token if none exists - a state-mutating write operation. This design error means that a read:user-scoped token - intended to grant only read access to user data - is sufficient to invoke an endpoint with write semantics, yielding a registration token that grants the ability to attach arbitrary runner agents to the CI system.
Know when Gitea gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
PR:L because a valid read-only token is required; I:H added over vendor score because malicious runner enables arbitrary workflow code execution with integrity impact.
Primary rating from Vendor (Gitea).
CVSS VectorVendor: Gitea
Lifecycle Timeline
2DescriptionCVE.org
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.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.
Remote code execution in Gitea (self-hosted Git service) via a code-injection flaw (CWE-94) allows attackers to run arbi
Broken access control in Gitea's Composer package registry (versions up to and including 1.26.1) lets remote attackers r
Gitea before 1.16.7 does not escape git fetch remote. Rated high severity (CVSS 7.5), this vulnerability is remotely exp
The git hook feature in Gitea 1.1.0 through 1.12.5 might allow for authenticated remote code execution in customer envir
Improper Neutralization of Input During Web Page Generation (XSS or 'Cross-site Scripting') vulnerability in Gitea Gitea
Reverse-proxy authentication bypass in the official Gitea Docker image (versions up to and including 1.26.2) allows any
Path traversal in Gitea's Org-mode (`.org`) markup renderer allows an attacker who can get Org-mode content rendered by
Container escape in Gitea act_runner (Docker backend, through act 0.262.0) lets an authenticated user with workflow-exec
models/repo_mirror.go in Gitea before 1.7.6 and 1.8.x before 1.8-RC3 mishandles mirror repo URL settings, leading to rem
Server-side request forgery and internal repository exfiltration in Gitea before 1.27.0 lets a low-privileged authentica
Authorization bypass in Gitea versions 1.22.3 through 1.26.1 allows holders of `public-only` access tokens or OAuth gran
An issue was discovered in Gitea through 1.11.5. Rated high severity (CVSS 7.5), this vulnerability is remotely exploita
EUVD-2026-58128
GHSA-m7qq-f4rg-v5m5
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB