Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessLure signed-in victim to crafted link
-
DeliveryAttacker OpenID provider sends unsolicited assertion
-
ExploitCallback binds attacker identity to victim account
-
ExecutionAttacker logs in via OpenID as victim
-
ImpactFull 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
Affected Packages
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
AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N
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).
Primary rating from Vendor (Gitea).
CVSS VectorVendor: Gitea
Lifecycle Timeline
2DescriptionCVE.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
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Remote code execution in Gitea (self-hosted Git service) via a code-injection flaw (CWE-94) allows attackers to run arbi
Broken access control in Gitea's Composer package registry (versions up to and including 1.26.1) lets remote attackers r
Gitea before 1.16.7 does not escape git fetch remote. Rated high severity (CVSS 7.5), this vulnerability is remotely exp
The git hook feature in Gitea 1.1.0 through 1.12.5 might allow for authenticated remote code execution in customer envir
Improper Neutralization of Input During Web Page Generation (XSS or 'Cross-site Scripting') vulnerability in Gitea Gitea
Authenticated command injection in Dokploy (self-hostable PaaS) versions 0.29.3 through 0.29.12 lets a low-privileged us
Reverse-proxy authentication bypass in the official Gitea Docker image (versions up to and including 1.26.2) allows any
Path traversal in Gitea's Org-mode (`.org`) markup renderer allows an attacker who can get Org-mode content rendered by
Container escape in Gitea act_runner (Docker backend, through act 0.262.0) lets an authenticated user with workflow-exec
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
Server-side request forgery and internal repository exfiltration in Gitea before 1.27.0 lets a low-privileged authentica
Authorization bypass in Gitea versions 1.22.3 through 1.26.1 allows holders of `public-only` access tokens or OAuth gran
EUVD-2026-103982
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB