Description
Gitea versions before 1.25.5 do not consistently enforce OAuth2 authorization code expiry and single-use behavior during token exchange.
Published: 2026-07-03
Score: 9.1 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Gitea versions before 1.25.5 allow OAuth2 authorization codes to be used more than once and do not enforce an expiration time (this is a flaw mapped to CWE‑294). As a result, a valid authorization code can be exchanged for an access token repeatedly, and the code can be used at any time after issuance unless it is manually revoked. The consequence is that an attacker who obtains a legitimate code—through phishing, interception, or a compromised client—could use it to obtain an access token that grants unauthorized access to the victim’s resources.

Affected Systems

All deployments of Gitea Open Source Git Server running a version earlier than 1.25.5 are affected. The advisory does not specify conditional limitations on operating system, network topology, or hosting environment, implying that every instance of the vulnerable application is potentially exploitable regardless of underlying infrastructure.

Risk and Exploitability

The CVSS score of 9.1 indicates critical severity. The EPSS score of <1% indicates that wild exploitation is unlikely, yet the flaw remains significant for targeted attacks. The vulnerability is not currently listed in CISA’s KEV catalog. Based on the description, it is inferred that an attacker could exploit the lack of single-use enforcement during the OAuth2 token exchange step to obtain a long‑lived access token. Such a token could then be used to access resources under the victim’s account. The exact likelihood of exploitation depends on the attacker’s ability to acquire a valid authorization code, which is not detailed in the CVE data.

Generated by OpenCVE AI on July 23, 2026 at 16:16 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Gitea to version 1.25.5, which enforces authorization code expiry and single‑use behavior
  • Restrict OAuth2 client registration to trusted applications and limit requested scopes to the minimum required
  • If an upgrade is not immediately possible, disable external OAuth2 authentication until the fix is applied or monitor authentication logs for abnormal code reuse patterns

Generated by OpenCVE AI on July 23, 2026 at 16:16 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 07 Jul 2026 17:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 9.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N'}

ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Mon, 06 Jul 2026 23:15:00 +0000

Type Values Removed Values Added
First Time appeared Gitea
Gitea gitea Open Source Git Server
Vendors & Products Gitea
Gitea gitea Open Source Git Server

Fri, 03 Jul 2026 20:45:00 +0000

Type Values Removed Values Added
Description Gitea versions before 1.25.5 do not consistently enforce OAuth2 authorization code expiry and single-use behavior during token exchange.
Title Gitea OAuth2 authorization codes lack expiry and reuse enforcement
Weaknesses CWE-294
References

Subscriptions

Gitea Gitea Open Source Git Server
cve-icon MITRE

Status: PUBLISHED

Assigner: Gitea

Published:

Updated: 2026-07-07T16:59:23.495Z

Reserved: 2026-03-03T03:25:28.619Z

Link: CVE-2026-26232

cve-icon Vulnrichment

Updated: 2026-07-07T16:21:03.491Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-23T16:30:09Z

Weaknesses
  • CWE-294

    Authentication Bypass by Capture-replay