Skip to main content

Gitea CVE-2026-97208

| EUVDEUVD-2026-94053 MEDIUM
Incorrect Authorization (CWE-863)
2026-10-06 88ee5874-cf24-4952-aea0-31affedb7ff2
4.9
CVSS 3.1 · Vendor: 88ee5874-cf24-4952-aea0-31affedb7ff2
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as repository administrator
  2. Delivery
    Call push_mirrors API endpoint
  3. Exploit
    Bypass DISABLE_NEW_PUSH policy check
  4. Execution
    Create mirror to attacker-chosen remote
  5. Impact
    Exfiltrate all repo refs externally

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

Requires the caller to already hold repository-administrator privileges (CVSS PR:H) on a target repo. Critically, the flaw only crosses a security boundary on Gitea instances where the site administrator has explicitly enabled the [mirror] DISABLE_NEW_PUSH setting to forbid creation of new push mirrors via the web UI; on default configurations push mirrors are permitted, so the API behavior is not a violation. Exploitation is further limited to Gitea versions ≤28.0.0 (fixed in 28.1.0) and to instances with mirroring enabled. There is no unauthenticated or low-privilege path and no reliance on victim user interaction.

Impact

This is a genuinely low-priority issue despite the signals being internally consistent. The CVSS 3.1 vector (CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:N, base 4.9 Medium) requires PR:H - a repository administrator - so the attacker is already a highly privileged, authenticated user, not an anonymous remote actor. All corroborating signals point the same way: EPSS is 0.16% (5th percentile), there is no CISA KEV listing, and the SSVC decision framework reports Exploitation=none, Automatable=no, and Technical Impact=partial. CWE-863 (improper authorization) accurately captures this as a policy-control bypass rather than a classic exploit. One notable discrepancy to verify: the input vector asserts I:H with C:N, yet the described behavior - pushing all repository refs to an attacker-chosen external remote - is fundamentally a data-exfiltration (confidentiality) problem, and the [mirror] DISABLE_NEW_PUSH control exists precisely to stop repo contents leaving the instance; the I:H/C:N labeling should be verified with the vendor advisory (GHSA-8hhh-mqpg-jpxc). Crucially, the bug only constitutes a security boundary crossing on instances where the site administrator deliberately enabled DISABLE_NEW_PUSH; on default configurations push mirrors are already permitted, so there is no violated control. Net assessment: low real-world risk, appropriate to patch on a normal cadence.

Exploit ScenarioDerived

On a Gitea instance where the site administrator has set [mirror] DISABLE_NEW_PUSH to forbid new push mirrors, a user holding repository-administrator rights on any repo sends a crafted POST to /api/v1/repos/{owner}/{repo}/push_mirrors, which skips the setting check that the web UI enforces. The newly created push mirror then pushes all repository refs to a remote the attacker controls, exfiltrating repository contents on each commit or on schedule. No public exploit identified at time of analysis, though the fix PR (go-gitea/gitea#39501) documents the exact code path.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 07, 2026

Gitea versions through 28.0.0 allow repository administrators to create new push mirrors through the API even when the site administrator has enabled the [mirror] DISABLE_NEW_PUSH restriction that the web UI honors. This is an authenticated, repository-admin-only authorization bypass (CVSS PR:H) that only crosses the intended security boundary on instances where that restriction is configured; on default configurations push mirrors are permitted, so the API behavior is not a violation. EPSS is 0.16% (5th percentile), no public exploit identified at time of analysis, and no CISA KEV activity is reported; the vendor fixed the issue in 28.1.0. The independent assessment rates this as a genuinely low-priority issue with assessed vector CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:N/A:N.

RemediationAI

Upgrade to Gitea 28.1.0, the vendor release containing the fix, per the advisory at https://github.com/go-gitea/gitea/security/advisories/GHSA-8hhh-mqpg-jpxc and release notes at https://blog.gitea.com/release-of-28.1.0/ and https://github.com/go-gitea/gitea/releases/tag/v28.1.0. If immediate upgrade is not possible, disable the mirroring feature entirely if it is not required, because the API bypass only matters when mirroring is enabled and the site-level DISABLE_NEW_PUSH restriction is being relied upon; the trade-off is loss of legitimate mirror functionality. Alternatively, restrict repository-administrator membership to trusted users and audit API-created push mirrors, since the bypass requires PR:H privileges; the trade-off is operational overhead and reduced self-service. Blocking POST /api/v1/repos/*/*/push_mirrors at a reverse proxy can prevent remote API creation but may break legitimate API clients and does not address internal API access.

Affected VersionsENISA

Gitea 0 ≤28.0.0

Affected Packages

euvd gitea no fix

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 is a self-hosted Git service written in Go. The flaw is CWE-863 Incorrect Authorization: the API handler for POST /api/v1/repos/{owner}/{repo}/push_mirrors checked only that mirroring was enabled and failed to enforce the setting.Mirror.DisableNewPush restriction applied by the web interface. A repository administrator could therefore add a push mirror with a caller-chosen remote address, causing repository refs to be pushed to that remote on commit or on a schedule when mirroring is enabled. The 28.1.0 fix adds an explicit setting.Mirror.DisableNewPush check that returns HTTP 403 and adjusts IsMigrateURLAllowed to use ctx.Doer instead of ctx.ContextUser, tying the URL allowlist decision to the caller's permissions. Per EUVD, affected versions are Gitea 0 through 28.0.0; no CPE strings are provided in the supplied data. Exploitation requires existing repository-administrator privileges, has no unauthenticated or low-privilege path, and only violates the site administrator's intended restriction where DISABLE_NEW_PUSH is explicitly configured.

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

Vendor (88ee5874-cf24-4952-aea0-31affedb7ff2) PRIMARY 4.9 MEDIUM
AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:N
vuln.today AI 2.7 LOW

Repo-admin only (PR:H) over the API (AV:N/AC:L/UI:N); the real impact is limited exfiltration of repo refs to an external remote (C:L), with no local data modification (I:N) or availability loss.

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

Primary rating from Vendor (88ee5874-cf24-4952-aea0-31affedb7ff2).

CVSS VectorVendor: 88ee5874-cf24-4952-aea0-31affedb7ff2

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

Lifecycle Timeline

2
CVSS changed
Oct 07, 2026 - 21:23 NVD
4.9 (None) 4.9 (MEDIUM)
CVE Published
Oct 06, 2026 - 22:17 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

The Gitea API endpoint for creating push mirrors (POST /api/v1/repos/{owner}/{repo}/push_mirrors) checked only whether mirroring was enabled and not the [mirror] DISABLE_NEW_PUSH setting that the web interface enforces. A repository administrator could therefore create new push mirrors on instances where the site administrator had disabled them. A push mirror pushes all refs of the repository to a remote chosen by the caller, on each commit or on a schedule.

Threat Intelligence Overview

EPSS Score
0.2%
Top 95% exploitable
Prevalence
Medium
popular self-hosted Git service, common in dev environments but not ubiquitous
Data Quality
7 sources
Confidence: High

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.2%
Patch available No
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
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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

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