Skip to main content

Forgejo CVE-2026-89151

| EUVDEUVD-2026-75922 LOW
Incorrect Authorization (CWE-863)
2026-09-11 mitre GHSA-jxfm-4h2p-76mq
3.5
CVSS 3.1 · Vendor: mitre
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain restricted-scope Forgejo API token
  2. Delivery
    Identify target pull request
  3. Exploit
    Send API request to maintainer-edit endpoint
  4. Execution
    Authorization check fails to enforce token scope
  5. Persist
    Toggle 'allow maintainer edit' without required permissions
  6. Impact
    Maintainers 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.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

Forgejo 0 <15.0.8
Forgejo 16.0.0 <16.0.4

Affected Packages

euvd forgejo fix: 15.0.8, 16.0.4

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

Vendor (mitre) PRIMARY 3.5 LOW
AV:N/AC:H/PR:L/UI:N/S:C/C:N/I:L/A:N
vuln.today AI 3.5 LOW

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).

3.1 AV:N/AC:H/PR:L/UI:N/S:C/C:N/I:L/A:N
4.0 AV:N/AC:H/AT:P/PR:L/UI:N/VC:N/VI:N/VA:N/SC:N/SI:L/SA:N

Primary rating from Vendor (mitre).

CVSS VectorVendor: mitre

Attack Vector
Network
Attack Complexity
High
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
None
Integrity
Low
Availability
None

Lifecycle Timeline

1
Patch available
Sep 11, 2026 - 04:02 EUVD

DescriptionCVE.org

Forgejo before 16.0.4 allows use of restricted API tokens for unintended access to the "allow maintainer edit" feature.

Threat Intelligence Overview

EPSS Score
0.1%
Top 96% exploitable
Prevalence
Low
niche self-hosted Git forge, smaller footprint than Gitea or GitLab
Social Media
1
Sightings
Data Quality
4 sources
Confidence: Medium

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.

SignalValue
Severity LOW
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Low

Priority Score

18
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +18
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0
CVE-2026-89094 CRITICAL
9.9 Sep 10

Remote code execution in Forgejo before 16.0.4 allows an authenticated user who can supply a template repository to run

CVE-2025-68937 CRITICAL
9.5 Dec 26

Forgejo before 13.0.2 (and the 11 LTS line before 11.0.7) mishandles out-of-repository symlink destinations when generat

CVE-2023-49946 CRITICAL
9.1 Dec 03

In Forgejo before 1.20.5-1, certain endpoints do not check whether an object belongs to a repository for which permissio

CVE-2023-49947 HIGH
7.5 Dec 03

Forgejo before 1.20.5-1 allows 2FA bypass when docker login uses Basic Authentication. Rated high severity (CVSS 7.5), t

CVE-2026-119545 MEDIUM
6.9 Oct 30

Unauthenticated blind server-side request forgery in Forgejo (through 15.0.11, 16.0.0 through 16.0.7, and 17.0.0 through

CVE-2026-119546 MEDIUM
6.8 Oct 30

Forgejo's restore-repo CLI can be induced to read files outside the dump directory - including repository configuration

CVE-2026-82556 LOW POC
2.1 Aug 30

Server-side request forgery in Forgejo up to 15.0.4 allows authenticated users to bypass the repository migration IP all

CVE-2026-59102 LOW POC
2.1 Jul 02

Stored XSS in Forgejo before 15.0.3 allows authenticated users to execute arbitrary JavaScript in other users' browsers

CVE-2026-119547 MEDIUM
5.3 Oct 30

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

CVE-2023-49948 MEDIUM
5.3 Dec 03

Forgejo before 1.20.5-1 allows remote attackers to test for the existence of private user accounts by appending .rss (or

CVE-2026-90679 MEDIUM
4.3 Sep 13

Identity spoofing in Forgejo's ActivityPub federation allows a remote attacker who controls any single valid ActivityPub

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy