Skip to main content

Gitea EUVDEUVD-2026-93923

| CVE-2026-96404 HIGH
Improper Authentication (CWE-287)
2026-10-06 88ee5874-cf24-4952-aea0-31affedb7ff2
8.1
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
    Reach exposed web installer
  2. Exploit
    Submit install form with existing admin username
  3. Execution
    Receive authenticated admin session without password
  4. Impact
    Change admin password and seize full control

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication mechanism validation
MITRE ATT&CK

2 techniques across 2 tactics: Defense Evasion, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation is possible ONLY when Gitea's web installer is network-reachable while the backing database already contains user accounts - the described trigger is INSTALL_LOCK being reset to false (or otherwise unset) on an already-installed instance. The attacker must also know or supply a username matching an existing account, and for full compromise that account must be an administrator. A further limiting factor: this is not exploitable against a normal, locked (INSTALL_LOCK=true) production deployment, which is the default post-install state; the window exists only during operator-induced reinstallation/misconfiguration. Additionally, databases with only a single user also bypassed the reinstall confirmation prompt, slightly widening the condition for small single-admin instances.

Impact

This is a genuine high-impact authentication bypass (CWE-287) in Gitea's web installer that hands an unauthenticated attacker a valid session for an existing administrator account without any password check, yielding full administrative control (CVSS 8.1, C:H/I:H/A:H). However, the signals diverge sharply on urgency: the vendor-supplied CVSS vector uses AC:H, which correctly reflects that exploitation is NOT possible against a normal, fully-installed instance - it requires the installer to be reachable against a populated database (e.g. INSTALL_LOCK manually reset to false), a non-default and transient state. The EPSS score is very low (0.16%, 4th percentile) and there is NO CISA KEV listing and NO public exploit code identified, so there is no evidence of active or at-scale exploitation. The net picture is a high-severity-but-conditional flaw: a real priority for the specific population of operators who have re-exposed their installer, but a low real-world mass-exploitation risk otherwise. Note one tension to verify: the vector is AV:N/PR:N (remote, unauthenticated), yet the vulnerable window depends entirely on an operator-side misconfiguration (installer exposed against an existing DB), so realistic exposure is far narrower than 'remote unauthenticated' alone implies.

Exploit ScenarioDerived

An operator re-exposes the Gitea web installer against an existing database (for example by resetting INSTALL_LOCK to false) without restricting network access. An attacker who can reach the installer submits the install form using a known or guessed administrator username; Gitea issues an authenticated session for that account without verifying the password, and the attacker then changes the admin password to lock in full control. No public exploit code is identified at time of analysis, and the high attack complexity reflects the required non-default installer-exposed state.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.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

Unauthenticated attackers who can reach Gitea's web installer on an instance whose INSTALL_LOCK has been reset to false (or is otherwise unset) can obtain a fully authenticated session for any existing account - including an administrator - simply by submitting the install form with a username that matches that account, with no password verification whatsoever. Full administrative takeover follows, allowing the attacker to change the account's password and control the instance. The bypass only exists while the installer is network-reachable against a database that already contains users; the default hardened post-install state (INSTALL_LOCK=true) is not affected. Independent assessment rates this CVSS 8.1 (AV:N/AC:H/PR:N/UI:N, C:H/I:H/A:H); EPSS is low at 0.16% (4th percentile) and no public exploit code has been identified at time of analysis.

RemediationAI

Apply the vendor-released patch: upgrade to Gitea 28.0.0 (release tag https://github.com/go-gitea/gitea/releases/tag/v28.0.0, per the advisory at https://github.com/go-gitea/gitea/security/advisories/GHSA-9h7g-h754-c8x2 and the fix PR https://github.com/go-gitea/gitea/pull/39400). If an immediate upgrade is not possible, ensure INSTALL_LOCK=true is present and enforced in app.ini - this removes the exploitable window entirely, since a locked instance does not serve the installer - and verify the setting after any configuration edit or restore. Additionally, block the /install path at the reverse proxy or restrict it to trusted administrative networks; this is a layered control and does not repair the underlying logic, but it prevents remote reachability of the vulnerable endpoint. Note that any of these controls must be applied before the attacker reaches the installer, and rotating credentials for administrator accounts is advisable if INSTALL_LOCK was ever observed to be false on an internet-facing instance, since a granted session could have been used to change the account password. No vendor patch is needed for deployments that never expose the installer, but upgrading remains the definitive fix.

Affected VersionsENISA

Gitea 0 ≤1.27.3

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

CVE-2026-96404 is an improper-authentication flaw (CWE-287) in Gitea's web installer, written in Go. Gitea's first-run installation handler is designed to run exactly once: it writes the instance configuration and creates the initial administrator account. After installation the operator is expected to set INSTALL_LOCK=true, which causes the /install route to be disabled. When INSTALL_LOCK is reset to false - for example by an operator editing app.ini during a recovery or configuration change - the installer becomes reachable again even though the backing database is already populated. The vulnerable code path failed to reconcile the submitted administrator username against existing accounts: rather than rejecting the reuse or requiring the existing account's password, it minted a session for the matching user record. A related logic weakness compounded the problem: the HasPostInstallationUsers check counted users with a threshold of two (using LIMIT 2 and requiring len(res) >= 2), so single-user databases were not recognized as 'already installed' and also skipped the reinstall confirmation. The upstream fix (PR 39400, shipped in v28.0.0) replaces the threshold logic with a simple presence check (x.Table("user").Exist()) and, alongside it, refactors the server domain setting (setting.Domain renamed to setting.AppDomain) used for WebAuthn RPID and ACME/AppURL handling. The high CVSS attack complexity (AC:H) reflects that exploitation requires the specific misconfiguration window plus knowledge of a valid username, not merely network reachability.

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 8.1 HIGH
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 8.1 HIGH

No authentication is checked so PR:N and the installer is network-facing (AV:N), but the required installer-exposed-against-populated-DB state is non-default, justifying AC:H; full admin takeover gives C:H/I:H/A:H.

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

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

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

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

Lifecycle Timeline

3
CVSS changed
Oct 07, 2026 - 15:22 NVD
8.1 (HIGH)
CVE Published
Oct 06, 2026 - 20:17 cve.org
HIGH 8.1
CVE Published
Oct 06, 2026 - 20:17 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

When Gitea's web installer is reachable against a database that already contains users, such as after INSTALL_LOCK has been reset to false, submitting the install form with an administrator username matching an existing account issued an authenticated session for that account without verifying its password. If the account is an administrator, the session grants full administrative access, including changing the account's password. Databases with a single user also did not require the reinstall confirmation.

Technical POC Analysis

Evidence basis: this breakdown is built from advisory GHSA-9h7g-h754-c8x2 only.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Gitea instances with a network-reachable web installer and INSTALL_LOCK set to false or unset are exposed to unauthenticated full administrative takeover, enabling attackers to compromise source code, credentials, and CI/CD workflows. This affects organizations relying on Gitea for code hosting and development operations, and leadership should care because a single misconfiguration can lead to broad compromise of intellectual property and trusted access. No public exploit identified at time of analysis, but no vendor-released patch identified at time of analysis, making immediate configuration hardening critical.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations include ensuring INSTALL_LOCK=true, blocking network access to the Gitea web installer from untrusted sources, monitoring for unauthorized install-form submissions, and rotating credentials and reviewing admin accounts if exposure is suspected.

Threat Intelligence Overview

EPSS Score
0.2%
Top 96% exploitable
Prevalence
Medium
popular self-hosted git service, common but not universally deployed
Data Quality
7 sources
Confidence: High
EUVD 🇯🇵JVN NVD CVE.org EPSS Vulnrichment Vendor GitHub VulDB

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 HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

40
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +40
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

Vendor StatusVendor

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