Skip to main content

Gitea CVE-2026-55982

MEDIUM
Information Exposure (CWE-200)
2026-07-21 https://github.com/go-gitea/gitea GHSA-mg4f-x9v4-6h2p
Share

Severity by source

vuln.today AI
4.3 MEDIUM

Requires a valid API token (PR:L); exposes only the token holder's own email and group membership (C:L); no integrity or availability impact.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Estimated by vuln.today — no official severity rating has been published for this CVE yet.

Lifecycle Timeline

2
Source Code Evidence Fetched
Jul 21, 2026 - 21:19 vuln.today
Analysis Generated
Jul 21, 2026 - 21:19 vuln.today

DescriptionCVE.org

Summary

The OIDC userinfo endpoint (GET /login/oauth/userinfo) accepts Gitea API tokens as bearer credentials but does not enforce API token scopes before returning identity claims.

A personal access token scoped only to read:misc can successfully retrieve user information from the OIDC userinfo endpoint, even though the same token is denied access to user-related REST API endpoints that enforce scope checks.

As a result, identity information remains accessible through the OIDC endpoint regardless of the scopes assigned to the API token.

Details

Gitea supports scoped personal access tokens and enforces scope checks on user-related REST API endpoints.

For example, a token scoped only to read:misc is denied access to endpoints such as:

EndpointRequired Scope
GET /api/v1/userread:user
GET /api/v1/user/emailsread:user
GET /api/v1/user/orgsread:organization

Requests to these endpoints return:

http
403 Forbidden

with a scope-related error.

However, the same read:misc token can be supplied as a bearer credential to:

http
GET /login/oauth/userinfo
Authorization: Bearer <token>

and receives a successful response containing identity claims.

Observed claims include:

  • email
  • groups

The groups claim contains organization and team membership information associated with the authenticated user.

This behavior indicates that the OIDC userinfo endpoint accepts API tokens but does not apply scope restrictions before returning identity claims.

PoC

PoC Details

Proof-of-concept code: https://anonymous.4open.science/r/Gitea_PoC-EC93/3_poc_oidc_userinfo_scope_bypass

Reproduction Steps
  1. Create a personal access token with only the following scope:
text
read:misc
  1. Verify that the token cannot access user-related REST API endpoints:
http
GET /api/v1/user
GET /api/v1/user/emails
GET /api/v1/user/orgs

Each request returns:

http
403 Forbidden
  1. Send the same token to the OIDC userinfo endpoint:
http
GET /login/oauth/userinfo
Authorization: Bearer <read-misc-token>
  1. Observe that the request succeeds and returns identity claims, for example:
json
{
  "email": "user@example.com",
  "groups": [
    ...
  ]
}

Impact

Holders of narrowly scoped API tokens can obtain identity information through the OIDC userinfo endpoint regardless of the scopes assigned to the token.

The issue does not provide access to repositories, issues, pull requests, administrative functionality, or data belonging to other users.

Impact is limited to disclosure of identity information associated with the authenticated user. However, it weakens the authorization boundary established by API token scopes because identity claims remain accessible even when the token lacks user- or organization-related scopes.

AnalysisAI

Gitea's OIDC userinfo endpoint (GET /login/oauth/userinfo) bypasses API token scope enforcement, exposing email addresses and organization/team membership to any valid token holder regardless of assigned scopes. A token scoped exclusively to read:misc - which is correctly denied access to /api/v1/user, /api/v1/user/emails, and /api/v1/user/orgs - successfully retrieves identity claims through the OIDC endpoint. …

Unlock full vulnerability intelligence

  • Risk assessment & exploitation conditions
  • Attack chain visualization
  • Remediation with exact patch versions
  • Threat intelligence from 22 sources
  • Personal watchlist & email alerts

Free forever · No credit card required

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata

Access
Obtain valid Gitea API token (any scope)
Exploit
Send bearer token to GET /login/oauth/userinfo
Execution
Scope check bypassed by endpoint
Impact
Receive email and org/team membership claims without required user/org scopes

Vulnerability AssessmentAI

Exploitation Exploitation requires possession of any valid Gitea personal access token with any scope, including the minimal `read:misc` scope. … Additional conditions and limiting factors are described in the full assessment.
Risk Assessment No CVSS vector was supplied by NVD or the vendor advisory, and no EPSS data is available for this CVE at time of analysis. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in.
Exploit Scenario A developer or CI/CD pipeline service account holds a Gitea PAT scoped only to `read:misc` for a legitimate narrow purpose. An attacker who obtains this token - through credential theft, log exposure, or insider access - sends it as a bearer credential to `GET /login/oauth/userinfo` and receives the associated user's email address and full organization and team membership list. …
Remediation Upgrade Gitea to version 1.27.0 or later, which enforces API token scope checks on the OIDC userinfo endpoint. … Detailed patch versions, workarounds, and compensating controls in full report.

Threat intelligence, references, and detailed analysis are available after sign-in.

More in Gitea

View all
CVE-2026-27771 HIGH POC
8.2 Jul 03

Broken access control in Gitea's Composer package registry (versions up to and including 1.26.1) lets remote attackers r

CVE-2022-30781 HIGH POC
7.5 May 16

Gitea before 1.16.7 does not escape git fetch remote. Rated high severity (CVSS 7.5), this vulnerability is remotely exp

CVE-2020-14144 HIGH POC
7.2 Oct 16

The git hook feature in Gitea 1.1.0 through 1.12.5 might allow for authenticated remote code execution in customer envir

CVE-2024-6886 CRITICAL POC
10.0 Aug 06

Improper Neutralization of Input During Web Page Generation (XSS or 'Cross-site Scripting') vulnerability in Gitea Gitea

CVE-2026-58053 CRITICAL POC
9.4 Jun 28

Container escape in Gitea act_runner (Docker backend, through act 0.262.0) lets an authenticated user with workflow-exec

CVE-2019-11229 HIGH POC
8.8 Apr 15

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

CVE-2020-13246 HIGH POC
7.5 May 20

An issue was discovered in Gitea through 1.11.5. Rated high severity (CVSS 7.5), this vulnerability is remotely exploita

CVE-2022-0905 HIGH POC
7.1 Mar 10

Missing Authorization in GitHub repository go-gitea/gitea prior to 1.16.4. Rated high severity (CVSS 7.1), this vulnerab

CVE-2022-1058 MEDIUM POC
6.1 Mar 24

Open Redirect on login in GitHub repository go-gitea/gitea prior to 1.16.5. Rated medium severity (CVSS 6.1), this vulne

CVE-2026-20896 CRITICAL POC
9.8 Jul 03

Reverse-proxy authentication bypass in the official Gitea Docker image (versions up to and including 1.26.2) allows any

CVE-2026-27780 CRITICAL
9.8 Jul 03

Branch-protection bypass in Gitea's self-hosted Git server (all versions before 1.26.0) allows a user with push access t

CVE-2026-26292 CRITICAL
9.8 Jul 03

Migration transport protections in Gitea are bypassed for Git LFS operations, affecting all self-hosted instances before

Share

CVE-2026-55982 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy