Skip to main content

Gitea EUVDEUVD-2026-103982

| CVE-2026-104627 MEDIUM
Improper Authentication (CWE-287)
2026-10-18 Gitea
5.4
CVSS 3.1 · Vendor: Gitea
View

Attack ChainAIDerived

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

  1. Access
    Lure signed-in victim to crafted link
  2. Delivery
    Attacker OpenID provider sends unsolicited assertion
  3. Exploit
    Callback binds attacker identity to victim account
  4. Execution
    Attacker logs in via OpenID as victim
  5. Impact
    Full account access bypassing TOTP/WebAuthn

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 requires ALL of: (1) the target Gitea instance has OpenID login/association enabled and reachable; (2) the victim is actively signed into Gitea at the time; (3) the victim opens an attacker-crafted link that drives the OpenID association callback (UI:R); and (4) the attacker controls or can direct the flow through an OpenID 2.0 provider capable of returning an unsolicited positive assertion. Limiting factors that reduce real-world risk: the required user interaction, dependence on the OpenID feature being enabled (non-universal configuration), and the version ceiling (Gitea ≤28.1.0; fixed in 28.2.0). No standing account or privileges on the Gitea instance are needed by the attacker (PR:N).

Impact

This is a moderate, defender-manageable issue rather than an urgent fire. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N, base 5.4) correctly captures a network-reachable, low-complexity, unauthenticated flaw that is gated by user interaction. All exploitation signals point the same direction and are consistent: EPSS is very low (0.11%, 1st percentile), there is no CISA KEV listing, no public exploit code is referenced, and CISA SSVC scores Exploitation=none, Automatable=no, Technical Impact=partial. The 'Automatable: no' rating aligns with the UI:R requirement - an attacker cannot mass-exploit this without tricking individual signed-in victims into opening crafted links, so this is a targeted-only technique, not a wormable or scan-and-spray bug. One point of divergence worth flagging: the vendor-supplied impact (C:L/I:L) understates the outcome, since the described end state is the attacker signing in AS the victim (effective account takeover that also bypasses the victim's TOTP/WebAuthn), which I assess as higher impact (see assessed vectors). Net: a real, legitimate authentication-bypass bug that self-hosting Gitea operators should patch in routine maintenance, but not a drop-everything emergency absent active exploitation.

Exploit ScenarioDerived

A victim is logged into a Gitea instance that permits OpenID login. The attacker lures the victim into opening a crafted link that drives Gitea's OpenID association callback; because the pre-patch callback accepted an unsolicited OpenID 2.0 positive assertion without verifying the victim initiated the linking, the attacker's attacker-controlled OpenID identity gets bound to the victim's account. The attacker then logs in via OpenID as the victim, bypassing the victim's local TOTP/WebAuthn. No public exploit code is identified at time of analysis, but the technique relies only on OpenID 2.0's unsolicited-assertion behavior and user interaction.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.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 – Oct 19, 2026

Account takeover in Gitea 0 through 28.1.0 via the OpenID association callback, which accepts a positive OpenID 2.0 assertion without verifying that the signed-in victim initiated the linking. A remote unauthenticated attacker who controls an OpenID provider can trick a signed-in user into opening a crafted link, link the attacker's identity to the victim's account, and then sign in as the victim through OpenID login, bypassing local TOTP/WebAuthn checks. Exploitation requires OpenID login/association to be enabled and user interaction; no public exploit code has been identified, EPSS is 0.11% (1st percentile), and the vendor has released Gitea 28.2.0 to fix it.

RemediationAI

Upgrade to Gitea 28.2.0 or later; the vendor advisory is at https://github.com/go-gitea/gitea/security/advisories/GHSA-mf69-7pqq-86vx and the release notes at https://blog.gitea.com/release-of-28.2.0/, with patch PRs at https://github.com/go-gitea/gitea/pull/39642 and https://github.com/go-gitea/gitea/pull/39744. If an immediate upgrade is not possible, disable OpenID authentication and association by setting ENABLE_OPENID_SIGNIN=false and ENABLE_OPENID_SIGNUP=false in app.ini, accepting that users will lose OpenID login and linking until the upgrade is applied. After upgrading, audit existing OpenID associations for unexpected identities and consider prompting affected users to re-enroll local TOTP/WebAuthn credentials.

Affected VersionsENISA

Gitea 0 ≤28.1.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

The issue is an improper authentication flaw (CWE-287) in Gitea's OpenID 2.0 association flow. OpenID 2.0 permits unsolicited positive assertions, so an attacker-controlled OpenID provider can return a successful assertion to Gitea's callback without the user having initiated a linking request. Because the callback did not require a time-limited state value bound to the signed-in user, Gitea treated the assertion as valid and attached the attacker's OpenID identity to the victim's account. Subsequent OpenID login as that identity authenticates as the victim and does not apply the local TOTP or WebAuthn checks normally required for the account. Affected deployments are those with OpenID sign-in or association enabled; the fix in Gitea 28.2.0 adds the missing state binding to the callback. The CPE cpe:2.3:a:gitea:gitea:*:*:*:*:*:*:*:* covers all versions up to 28.1.0.

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 (Gitea) PRIMARY 5.4 MEDIUM
AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N
vuln.today AI 8.1 HIGH

Successful attack yields login as the victim (account takeover bypassing 2FA), so C:H/I:H; attacker needs no privileges (PR:N) but victim must open a crafted link (UI:R).

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

Primary rating from Vendor (Gitea).

CVSS VectorVendor: Gitea

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

Lifecycle Timeline

2
CVSS changed
Oct 19, 2026 - 21:24 NVD
5.4 (None) 5.4 (MEDIUM)
CVE Published
Oct 18, 2026 - 18:51 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

The Gitea OpenID association callback in the security settings accepted a positive OpenID 2.0 assertion without checking that the signed-in user had started the linking. Because OpenID 2.0 allows unsolicited assertions, an attacker-controlled OpenID provider could attach the attacker's identity to the account of a signed-in victim who opened a crafted link, and the attacker could then sign in as the victim through OpenID login, which does not apply the local TOTP or WebAuthn checks. The callback now requires a time-limited state value bound to the user.

Threat Intelligence Overview

EPSS Score
0.1%
Top 99% exploitable
Prevalence
Medium
popular self-hosted Git service, broad but not ubiquitous footprint
Data Quality
6 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.1%
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
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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