Sceawere
Vulnerability Detail
CVE-2026-24059UPDATED Verified Sceawere Triage Sources: NVD / CISA KEV
Incorrect HTTP Method Scope Enforcement
Vulnerability Metadata
- Severity
- Medium
- Score / CVSS
- 6.5
- Creation Date
- 1d ago
- Vendor
- Gitea
- Product
- Gitea Open Source Git Server
- Attack Type
- CWE-269
- Vector String
- CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
- Attack Complexity
- LOW
Narrative and Response
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.
Executive Summary
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Technical Details
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Mitigations
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
References
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Additional Metadata
{
"score": "6.5",
"pubDate": "2026-08-13T17:17:21.887Z",
"pubdate": "2026-08-13T17:17:21.887Z",
"executiveSummary": "An authorization bypass vulnerability exists within the API scope enforcement mechanism governing runner registration token generation endpoints, specifically affecting GET /api/v1/user/actions/runners/registration-token and its owner- and repository-level equivalents.\nThe root cause stems from the API scope middleware incorrectly classifying the endpoint as read-only strictly because it relies on the HTTP GET method, failing to account for the state-changing side effect of creating a new runner registration token if one does not already exist.\nThe business impact is severe, as a malicious actor possessing a leaked read:user-scoped token can successfully interact with this endpoint to mint valid runner registration tokens.\nWith a minted registration token, the attacker can register a malicious Actions runner to the target environment.\nThis unauthorized runner subsequently executes workflow jobs, granting the attacker access to sensitive repository secrets and private source code.\nExploitation requires network exposure of the API endpoints and possession of a compromised read-scoped token, bypassing the intended write-level privilege separation for administrative runner provisioning actions.",
"technicalDetails": "The vulnerability resides in the API scope middleware logic responsible for enforcing permission boundaries based on HTTP verbs rather than actual state semantics. The affected components include the GET /api/v1/user/actions/runners/registration-token endpoint along with its corresponding owner- and repository-level routing equivalents.\nThe root cause is a semantic mismatch between the HTTP method design and the internal application logic. While RESTful conventions conventionally restrict GET requests to safe, idempotent, and read-only operations, the underlying handler for this endpoint performs an implicit write or state mutation: it checks for the existence of an active runner registration token and automatically generates and persists a new one if none is found.\nThe API scope middleware evaluates incoming requests against required permission scopes by inspecting the HTTP method. Because the request utilizes the GET method, the middleware improperly classifies the operation as falling under a read-only scope, such as read:user, rather than enforcing the required write-level or administrative scopes necessary for credential and token generation.\nThe attack flow proceeds as follows: 1) An attacker obtains a leaked or compromised read:user-scoped API token through external exposure or previous compromise. 2) The attacker issues an HTTP GET request to the vulnerable endpoint GET /api/v1/user/actions/runners/registration-token. 3) The API scope middleware intercepts the request, verifies the read:user scope against the GET method, and permits the execution to pass through. 4) The application logic executes the token generation routine, minting a valid runner registration token despite the caller lacking elevated administrative privileges. 5) The attacker captures the generated registration token in the HTTP response. 6) Using the minted token, the attacker registers an external, attacker-controlled runner instance to the user, owner, or repository context. 7) When subsequent GitHub Actions or CI/CD workflow jobs are triggered, the malicious runner picks up execution tasks, enabling the payload behavior of intercepting repository secrets, environment variables, and source code."
}