CVE-2026-101023

Gitea OAuth2 refresh token grant accepts access tokens

Published Oct 6, 2026 CVSS 3.1 · 9.1 Critical EPSS < 1% KEV · Not listed
Description
Gitea's OAuth2 token endpoint verified the signature and grant of a token submitted with the `refresh_token` grant type, but not that the token was a refresh token. An unexpired access token for the same OAuth2 application and grant could be exchanged for a new access token and refresh token. Whoever holds such an access token could keep access beyond the token's original lifetime.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
Weaknesses CWE-640
Type Values Removed Values Added
CPEs cpe:2.3:a:gitea:gitea:*:*:*:*:*:*:*:*
Type Values Removed Values Added
Weaknesses CWE-287
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'}

Type Values Removed Values Added
First Time appeared Gitea
Gitea gitea
Vendors & Products Gitea
Gitea gitea
Type Values Removed Values Added
Weaknesses CWE-640
Type Values Removed Values Added
Description Gitea's OAuth2 token endpoint verified the signature and grant of a token submitted with the `refresh_token` grant type, but not that the token was a refresh token. An unexpired access token for the same OAuth2 application and grant could be exchanged for a new access token and refresh token. Whoever holds such an access token could keep access beyond the token's original lifetime.
Title Gitea OAuth2 refresh token grant accepts access tokens
References
Weaknesses

Sources

Status
PUBLISHED
Assigner
Gitea
Published
Updated
Oct 7, 2026, 8:04 PM
Reserved
Oct 4, 2026, 10:02 PM
Status
Analyzed
Published
Oct 6, 2026, 10:16 PM
Modified
Oct 13, 2026, 2:39 PM
Severity
Moderate
Public date
Oct 6, 2026, 9:34 PM