Skip to main content

Gitea CVE-2025-68944

MEDIUM
Unintended Proxy or Intermediary ('Confused Deputy') (CWE-441)
2025-12-26 cve@mitre.org
5.3
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Obtain under-scoped Gitea API token
  2. Exploit
    Send request to package registry endpoint (Conan/Container)
  3. Execution
    Scope check bypassed, token accepted
  4. Impact
    Read or write packages beyond granted scope

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service Proxy/intermediary controls
Exploitation Conditions

Requires an attacker to already possess a valid Gitea access token whose scope does NOT include package permissions; the flaw is that the Conan and Container (and related NuGet) package registry authentication paths failed to verify the token carried read:package/write:package/all scope before issuing a package authorization token, so a lower-scoped token was wrongly accepted. Exploitation is therefore limited to instances where package registries are in use and the attacker can present some valid token; it does not permit fully anonymous access and is bounded to package read/write operations rather than full repository or admin compromise.

Impact

This is a moderate-severity, confused-deputy token-scope flaw (CWE-441) in Gitea's package registries, and the aggregate signals point to a LOW real-world priority rather than an urgent one. EPSS is 0.28% (18th percentile) indicating low predicted exploitation, there is no CISA KEV listing (not actively exploited), and no public exploit code was identified - only the vendor fix PR (#31967) is available. The NVD CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/C:N/I:L/A:N = 5.3) is INTERNALLY INCONSISTENT with the described defect: the vulnerability is about a scoped access token being accepted by the Conan/Container/NuGet package endpoints despite lacking the required read:package/write:package scope, so exploitation inherently requires possession of a valid (but under-scoped) Gitea token - i.e. PR should be L, not N. The PR:N rating overstates ease of attack; treat this as an authenticated scope-escalation issue, not an unauthenticated one. The source diff also shows package operations (read and write) being reachable, so the real impact plausibly touches confidentiality as well as the integrity (I:L) that NVD recorded. Net: genuine but low-urgency; patch during normal maintenance.

Exploit ScenarioDerived

An attacker who already holds a legitimate Gitea personal access token scoped only for non-package operations (e.g. repository read) presents it to a package registry endpoint such as the Conan or Container API; because the token scope is not properly propagated/enforced, the under-scoped token is accepted and the attacker reads or pushes packages it should not be authorized for. No public exploit code exists, and the network attack vector with low complexity makes it trivial once any valid token is obtained.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 13, 2026

Gitea before 1.22.2 improperly validates access token scopes in its Conan, Container, and NuGet package registries, allowing an authenticated attacker who holds a valid token lacking package permissions to obtain a package authorization token and perform unauthorized read/write operations on packages (confused deputy, CWE-441). The flaw requires the attacker to already possess a valid Gitea access token and only affects instances where package registries are enabled; it does not enable anonymous access or full repository compromise. No public exploit code or active exploitation has been identified, and with an EPSS of 0.28% (18th percentile), the real-world priority is low.

RemediationAI

Upgrade to Gitea 1.22.2 or later, which includes the vendor-released patch for CVE-2025-68944 (see https://github.com/go-gitea/gitea/releases/tag/v1.22.2). The fix is also detailed in PR https://github.com/go-gitea/gitea/pull/31967. If immediate upgrade is not possible, consider disabling unused package registries (Conan, Container, NuGet) to remove the attack surface, although this may disrupt legitimate package workflows. Alternatively, restrict network access to the package registry endpoints to trusted users or networks, and monitor audit logs for unusual package authorization token issuance or package operations. Note that simply rotating or removing tokens is not a sufficient mitigation because any valid token-even one with no package scope-could be abused. Ensure all access tokens are reviewed and that only necessary scopes are granted, but recognize that the vulnerability bypasses scope enforcement regardless.

Affected Packages

go code.gitea.io/gitea fix: 1.22.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in go

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability is a confused deputy (CWE-441) in Gitea's package registry authentication. Gitea issues access tokens with scopes such as read:package, write:package, or all, which should gate package operations. The affected registries-Conan, Container, and NuGet-used a token parsing routine that extracted only the user ID (ParseAuthorizationToken) and failed to propagate the token's scope into the request context. As a result, the subsequent authorization check either never verified package-specific scopes or accepted any valid token regardless of its scope. The patch (PR 31967) replaces ParseAuthorizationToken with ParseAuthorizationRequest, which returns both the user ID and the scope, stores the scope in the auth data store, and adds explicit HasAnyScope checks for read:package, write:package, or all before issuing package authorization tokens. The affected CPE is cpe:2.3:a:gitea:gitea:*:*:*:*:*:-:*:*, covering all versions prior to 1.22.2.

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

NVD PRIMARY 5.3 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
vuln.today AI 5.4 MEDIUM

Exploitation needs a valid but under-scoped token so PR:L (not PR:N); network-reachable registry API with low complexity; scope bypass enables unauthorized package read (C:L) and write (I:L).

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
Red Hat 5.0 MEDIUM

Primary rating from NVD.

CVSS VectorNVD

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

DescriptionNVD

Gitea before 1.22.2 sometimes mishandles the propagation of token scope for access control within one of its own package registries.

Threat Intelligence Overview

EPSS Score
0.3%
Top 82% exploitable
Prevalence
Medium
popular self-hosted Git service, common in dev/enterprise but not ubiquitous
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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact· derived
Medium

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Affected Products (CPE)NVD

cpe:2.3:a:gitea:gitea:*:*:*:*:*:-:*:*

More in Gitea

View all
CVE-2026-60004 CRITICAL POC
9.8

Remote code execution in Gitea (self-hosted Git service) via a code-injection flaw (CWE-94) allows attackers to run arbi

CVE-2026-27771 HIGH POC
8.2 Jul 03

Broken access control in Gitea's Composer package registry (versions up to and including 1.26.1) lets remote attackers r

CVE-2022-30781 HIGH POC
7.5 May 16

Gitea before 1.16.7 does not escape git fetch remote. Rated high severity (CVSS 7.5), this vulnerability is remotely exp

CVE-2020-14144 HIGH POC
7.2 Oct 16

The git hook feature in Gitea 1.1.0 through 1.12.5 might allow for authenticated remote code execution in customer envir

CVE-2024-6886 CRITICAL POC
10.0 Aug 06

Improper Neutralization of Input During Web Page Generation (XSS or 'Cross-site Scripting') vulnerability in Gitea Gitea

CVE-2026-72867 CRITICAL POC
9.9 Aug 10

Authenticated command injection in Dokploy (self-hostable PaaS) versions 0.29.3 through 0.29.12 lets a low-privileged us

CVE-2026-20896 CRITICAL POC
9.8 Jul 03

Reverse-proxy authentication bypass in the official Gitea Docker image (versions up to and including 1.26.2) allows any

CVE-2026-59774 CRITICAL POC
9.8

Path traversal in Gitea's Org-mode (`.org`) markup renderer allows an attacker who can get Org-mode content rendered by

CVE-2026-58053 CRITICAL POC
9.4 Jun 28

Container escape in Gitea act_runner (Docker backend, through act 0.262.0) lets an authenticated user with workflow-exec

CVE-2019-11229 HIGH POC
8.8 Apr 15

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

CVE-2026-57894 HIGH POC
8.5 Jul 21

Server-side request forgery and internal repository exfiltration in Gitea before 1.27.0 lets a low-privileged authentica

CVE-2026-24791 HIGH POC
8.1 Jun 17

Authorization bypass in Gitea versions 1.22.3 through 1.26.1 allows holders of `public-only` access tokens or OAuth gran

Vendor StatusVendor

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