Read the docs
TI-2026-69002 Aliases CVE-2026-101023

Gitea OAuth2 token endpoint accepts access tokens as refresh tokens

Priority MEDIUM 47CWE-287Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
Security bypass
Confidentiality · integrity · availability
High · High · None
Fix status
No fix listed

Attack profile from CVSS 3.1 · CISA ADP. Fix status from CNA. Impact type from CWE-287.

Summary

Gitea up to and including 28.0.0 accepts the wrong token type at its OAuth2 token endpoint (CWE-287). The endpoint checks the signature and grant of a token sent with the refresh_token grant type but does not check that the token is a refresh token. Anyone who holds an unexpired access token for the same OAuth2 application and grant can exchange it for a new access token and refresh token, keeping access beyond the token's original lifetime.

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

Description from the CNA

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00353 29th percentileScored 2026-11-07
Fix No fix listed No fixed version in the sources yet

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
Yes
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
GiteaGiteaup to 28.0.0—No fix listedCNA
  • Gitea VendorGitea Affected up to 28.0.0 Fixed in — No fix listed CNA

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:gitea:gitea:*:*:*:*:*:*:*:*before 28.1.0VulnerableGitea
  • cpe:2.3:a:gitea:gitea:*:*:*:*:*:*:*:* Versions before 28.1.0 Vulnerable ·Gitea

Remediation

The sources list no fixed version for Gitea.

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

Vendor assessments

Red Hat

Red Hat's page for this CVE →

Not affected: 1 product
  • Red Hat

Timeline

  1. 2026-10-07 Threatist record created from CVE-2026-101023
  2. 2026-10-07 Affected versions changed · Red Hat
  3. 2026-10-07 CVSS score added · Red Hat
  4. 2026-10-07 CVSS score added · CISA ADP
  5. 2026-10-07 Weakness changed · CISA ADP
  6. 2026-10-07 CISA SSVC decision points changed
  7. 2026-10-07 Priority changed: LOW → MEDIUM

References

  • TI-2026-42785 Gitea before 1.27.1 allows remote code execution via the diffpatch API through Git hook installation. KEVCVSS 3.1CRITICAL 9.8
  • TI-2020-11072 The git hook feature in Gitea 1.1.0 through 1.12.5 might allow for authenticated remote… CVSS 3.1HIGH 7.2
  • TI-2022-12910 Gitea before 1.16.7 does not escape git fetch remote. CVSS 3.1HIGH 7.5
  • TI-2019-08404 models/repo_mirror.go in Gitea before 1.7.6 and 1.8.x before 1.8-RC3 mishandles mirror… CVSS 3.1HIGH 8.8
  • TI-2022-00955 Open Redirect on login in go-gitea/gitea CVSS 3.1MEDIUM 6.1
  • TI-2026-68968 Push-to-create bypass of FORCE_PRIVATE policy in Gitea CVSS 3.1MEDIUM 5.4
See all 80 →

Sources