Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain restricted-scope Forgejo API token
-
DeliveryIdentify target pull request
-
ExploitSend API request to maintainer-edit endpoint
-
ExecutionAuthorization check fails to enforce token scope
-
PersistToggle 'allow maintainer edit' without required permissions
-
ImpactMaintainers gain unintended source-branch write access
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
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 | Exploitation requires an authenticated Forgejo user (PR:L) who holds a restricted (scoped) API token - the bypass is only meaningful when token scope restrictions are configured and the enforcement gap applies. The attacker must have sufficient repository standing to open or interact with pull requests in order to target the maintainer-edit setting. AC:H indicates additional specific conditions beyond baseline network access are required, likely a particular token configuration or PR state. Limiting factors: full authentication required, high attack complexity, and impact is confined solely to toggling the 'allow maintainer edit' PR flag (I:L, no confidentiality or availability impact). Unauthenticated exploitation is not possible per the CVSS PR:L metric. |
| Impact | CVSS 3.5 (Low) with vector AV:N/AC:H/PR:L/UI:N/S:C/C:N/I:L/A:N. The low base score is consistent with the narrow actual impact: the attacker can toggle the 'allow maintainer edit' setting on pull requests, which is an integrity-only change (I:L) with no confidentiality or availability consequence. AC:H signals that exploitation requires specific conditions - most likely the attacker must hold a restricted API token and target a repository where they have standing to open or interact with PRs. No EPSS score is provided in the input data, and the CVE is not listed in CISA KEV, so no evidence of active or widespread exploitation exists. No public exploit has been identified. Real-world risk is low: the attacker must be authenticated (PR:L), exploitation conditions are narrow (AC:H), and the worst realistic outcome is enabling unauthorized maintainer write access to a PR source branch - a meaningful but bounded integrity issue unlikely to serve as a standalone kill chain. |
| Exploit ScenarioDerived | An authenticated Forgejo user holding a restricted-scope API token sends an API request to the pull-request maintainer-edit endpoint. Because the authorization check does not properly validate the token's scope restrictions, the request succeeds and the attacker enables 'allow maintainer edit' on a PR they control, granting maintainers of the target repository write access to the attacker's source branch in ways the restricted token was never intended to permit. No public exploit code exists at time of analysis, and AC:H indicates specific conditions must align for the bypass to succeed. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 11, 2026
Restricted API token authorization bypass in Forgejo before 16.0.4 (and before 15.0.8 on the 15.x branch) allows authenticated users holding limited-scope tokens to invoke the 'allow maintainer edit' pull-request feature beyond those tokens' intended permissions. The flaw is CWE-863 Incorrect Authorization: the endpoint responsible for toggling maintainer-edit access on PRs fails to enforce token scope boundaries, permitting a scoped token to reach an operation it should be barred from. No public exploit has been identified at time of analysis, and CVSS AC:H signals that specific token configuration conditions must be met to trigger the bypass.
RemediationAI
Upgrade Forgejo to version 16.0.4 or later on the 16.x branch, or to 15.0.8 or later on the 15.x branch, as documented in the Codeberg milestone (codeberg.org/forgejo/forgejo/milestone/139655) and the 15.0.8 release notes. If immediate upgrade is not feasible, a compensating control is to audit and revoke restricted API tokens held by untrusted or external contributors, as the bypass is only meaningful when such tokens exist with insufficient scope enforcement. Enforcing that the 'allow maintainer edit' setting is toggled only via the web UI using fully-scoped administrator sessions would further reduce exposure, though this is an operational constraint rather than a code-level fix. No side effects of these workarounds are anticipated beyond reduced automation flexibility.
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
Forgejo is a self-hosted Git forge (CPE cpe:2.3:a:forgejo:forgejo:*) and a community-maintained fork of Gitea. Forgejo API tokens can be scoped to restrict which endpoints and operations they may access - the 'restricted token' construct referenced in the description. The 'allow maintainer edit' pull-request feature grants maintainers of the target repository write access to the PR's source branch, enabling them to push commits directly. CWE-863 (Incorrect Authorization) applies when software fails to properly verify that a subject has permission to perform a specific operation; here the authorization check for the maintainer-edit toggle does not correctly reject requests from restricted-scope tokens that lack the necessary permission. CVSS S:C (Scope Changed) reflects that the token's impact escapes its own authorization boundary and affects the PR's cross-repository access control.
Know when Forgejo 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:H/PR:L/UI:N/S:C/C:N/I:L/A:N
Network API call requires specific restricted-token conditions (AC:H), authenticated low-privilege attacker (PR:L), scope escapes token boundary (S:C), integrity-only impact on PR settings (I:L).
Primary rating from Vendor (mitre).
CVSS VectorVendor: mitre
Lifecycle Timeline
1DescriptionCVE.org
Forgejo before 16.0.4 allows use of restricted API tokens for unintended access to the "allow maintainer edit" feature.
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
Remote code execution in Forgejo before 16.0.4 allows an authenticated user who can supply a template repository to run
Forgejo before 13.0.2 (and the 11 LTS line before 11.0.7) mishandles out-of-repository symlink destinations when generat
In Forgejo before 1.20.5-1, certain endpoints do not check whether an object belongs to a repository for which permissio
Forgejo before 1.20.5-1 allows 2FA bypass when docker login uses Basic Authentication. Rated high severity (CVSS 7.5), t
Unauthenticated blind server-side request forgery in Forgejo (through 15.0.11, 16.0.0 through 16.0.7, and 17.0.0 through
Forgejo's restore-repo CLI can be induced to read files outside the dump directory - including repository configuration
Server-side request forgery in Forgejo up to 15.0.4 allows authenticated users to bypass the repository migration IP all
Stored XSS in Forgejo before 15.0.3 allows authenticated users to execute arbitrary JavaScript in other users' browsers
Forgejo through 15.0.11, 16.0.0 through 16.0.7, and 17.0.0 through 17.0.1 lets an authenticated user with a read:user-sc
Forgejo before 1.20.5-1 allows remote attackers to test for the existence of private user accounts by appending .rss (or
Identity spoofing in Forgejo's ActivityPub federation allows a remote attacker who controls any single valid ActivityPub
EUVD-2026-75922
GHSA-jxfm-4h2p-76mq
NVD
CVE.org
EPSS
Exploit-DB