Description
Gitea versions before 1.25.5 do not persist the OAuth2 PKCE S256 challenge method correctly during authorization, allowing token exchange without the expected verifier check.
Published: 2026-07-03
Score: 9.1 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The flaw in Gitea causes the PKCE S256 challenge method to be omitted from the token exchange phase, allowing an attacker to exchange an authorization code for a valid access token without providing the required verifier, thereby facilitating unauthorized access or impersonation of a user. This weakness is a classic example of Improper Authorization (CWE‑284) and directly undermines the security guarantees of OAuth2 when PKCE is expected to be enforced.

Affected Systems

All versions of Gitea Open Source Git Server released prior to 1.25.5, including the common community edition, are affected.

Risk and Exploitability

With a CVSS score of 9.1, the vulnerability presents a severe risk; the EPSS score of less than 1% signals a low likelihood of exploitation by widespread threat actors, and it is not listed in the CISA KEV catalog. The attack vector is likely remote via the exposed OAuth2 endpoints, where an adversary controlling the client side may initiate the authorization flow and then redeem the code for an access token without needing the verifier, effectively bypassing PKCE protection.

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

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Gitea to version 1.25.5 or later to restore PKCE S256 challenge enforcement.
  • If an upgrade cannot be applied immediately, block or restrict the OAuth2 endpoints so external clients cannot initiate the flow, or disable the use of external OAuth2 clients that rely on PKCE.
  • Validate the OAuth implementation to ensure PKCE verification is performed and consider phasing out legacy authorization flows that do not support PKCE.

Generated by OpenCVE AI on July 23, 2026 at 16:15 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 persist the OAuth2 PKCE S256 challenge method correctly during authorization, allowing token exchange without the expected verifier check.
Title Gitea OAuth2 PKCE S256 challenges are not enforced during token exchange
Weaknesses CWE-284
References

Subscriptions

Gitea Gitea Open Source Git Server
cve-icon MITRE

Status: PUBLISHED

Assigner: Gitea

Published:

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

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

Link: CVE-2026-26247

cve-icon Vulnrichment

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

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

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

Weaknesses