Skip to main content

Gitea CVE-2026-110324

| EUVDEUVD-2026-103990 MEDIUM
Information Exposure (CWE-200)
2026-10-18 Gitea
6.5
CVSS 3.1 · Vendor: Gitea
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as any Gitea user
  2. Exploit
    Send POST /{username} follow request
  3. Execution
    Read private profile fields from response
  4. Impact
    Harvest user PII

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK

2 techniques across 2 tactics: Collection, Discovery

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires a valid signed-in account on the target Gitea instance (PR:L) - self-registration, if enabled, satisfies this. The target user must have configured a private/limited-visibility profile; public profiles leak nothing new. Exploitation is performed against the POST /{username} follow/unfollow endpoint, whose visibility check was absent (it was enforced only on GET). Limiting factors: only users with private profiles are affected, only a bounded set of profile fields (full name, location, website, description) is exposed, and an authenticated session is mandatory, so unauthenticated internet-wide exploitation is not possible. Fixed in 28.1.0 (disclosed 28.2.0).

Impact

This is a genuine but modest-priority information-disclosure flaw (CWE-200). The provided CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N, 6.5) correctly reflects network-reachable, low-complexity access requiring an authenticated account (PR:L) with no user interaction and no integrity/availability impact. All exploitation signals point toward low real-world urgency: EPSS is 0.16% (4th percentile), the CVE is NOT on CISA KEV, and no public exploit code is referenced - so exploitation status is 'no public exploit identified at time of analysis.' The one point of tension is the Confidentiality rating: the vendor/NVD vector claims C:H, but the data actually disclosed is limited profile metadata (full name, location, website, description of users with private profiles), which is closer to C:L in my independent judgment - this inflates the 6.5 base score somewhat. Net assessment: a real, vendor-confirmed authorization gap worth patching on normal cycles, but NOT an emergency - it requires a valid account, affects only users who deliberately set a private profile, and leaks non-credential PII rather than enabling takeover.

Exploit ScenarioDerived

An attacker who holds any valid (even self-registered) account on a Gitea instance targets a user who has set their profile to private. Instead of a GET to the profile (which enforces visibility), the attacker sends POST /{username} (the follow/unfollow action), which only checked for a signed-in session, and reads the private user's full name, location, website and description from the response. No public exploit code is referenced, but the request is trivial to craft manually.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 19, 2026

Authenticated users on a Gitea instance can harvest private-profile information - full name, location, website, and free-text description - from other accounts by sending requests to the POST /{username} follow and unfollow endpoint, because the profile visibility check was applied only to GET requests while the POST handler merely required a signed-in session. Anyone holding a valid account on Gitea 1.22.0 through 28.0.0 (self-registration, where enabled, is enough) can pull these fields from the response for any target whose profile visibility is set to private; public profiles expose nothing new. The vendor fixed the flaw in 28.1.0 and disclosed it alongside the 28.2.0 release; there is no public exploit code identified at time of analysis, it is not in CISA KEV, and EPSS is low at roughly 0.16% (4th percentile), so this is a genuine but modest-priority information-disclosure issue.

RemediationAI

Upgrade to Gitea 28.1.0 or later - 28.2.0 is the recommended target since it is the release made in conjunction with disclosure and carries the complete hardening set from PRs https://github.com/go-gitea/gitea/pull/39501 and https://github.com/go-gitea/gitea/pull/39507. Vendor-released patch: 28.1.0 (disclosed with 28.2.0); follow the advisory at https://github.com/go-gitea/gitea/security/advisories/GHSA-xmfc-hqq8-33wh and the 28.2.0 release notes for upgrade steps. Because exploitation requires only a valid signed-in account (PR:L in the assessed vector), the most effective interim compensating control is to disable open self-registration (Require Sign-In / disable registration in the service configuration) so that arbitrary internet users cannot obtain the session needed to reach the POST /{username} handler - the trade-off is that legitimate new users must be provisioned manually by an administrator. If registration must remain open, restrict the instance to trusted networks via a reverse proxy or firewall allow-list, accepting that this weakens the value of a public-facing forge. Administrators can also reduce blast radius by asking users who rely on private profiles to temporarily clear the sensitive profile fields (full name, location, website, description) until the upgrade is applied, since an empty field cannot leak; note this is user-visible and does not fix the underlying missing check. Audit logs of POST follow/unfollow requests against private-profile accounts can be used to look for prior harvesting, and any data already disclosed should be treated as exposed given the low EPSS score alone does not rule out targeted use by an insider or registered tenant.

Affected VersionsENISA

Gitea 1.22.0 ≤28.0.0

Affected Packages

euvd gitea no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Gitea is a self-hosted, Go-based Git service whose user profiles carry a visibility setting that hides fields such as full name, location, website, and biography from viewers who are not the profile owner or an administrator. The root cause is a classic CWE-200 exposure of sensitive information through an inconsistent authorization boundary: the read path (GET) correctly called the profile visibility helper before rendering, but the POST /{username} follow/unfollow action - whose response returns the profile model - performed only a signed-in check and skipped that helper, so the same data set was reachable through a state-changing verb with weaker gating. The upstream fix set, delivered through the pull requests referenced in the advisory (GHSA-xmfc-hqq8-33wh), hardens profile visibility checks in adjacent code paths as well - the supplied diff shows, for example, the profile Atom feed handler now denying requests when feeds are disabled or when user_model.IsUserVisibleToViewer or organization.HasOrgOrUserVisible rejects the viewer, replacing the previous ad-hoc 'signed in and admin or owner' logic. The same pull requests bundle a broader authorization sweep (push-mirror creation now validates the caller rather than the context user and honours the DisableNewPush setting, OAuth2 refresh handling now verifies the token kind is a refresh token, and release deletion now rejects tags attached to a release), which is consistent with the class of missing per-object visibility enforcement that produced this CVE, even though the specific POST profile-handler hunk is not visible in the excerpt provided. The affected component in CPE terms is cpe:2.3:a:gitea:gitea across all version ranges up to the fixed release.

Know when Gitea gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Gitea) PRIMARY 6.5 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 4.3 MEDIUM

Network endpoint, low complexity, and any authenticated account suffice (PR:L); only limited profile metadata is exposed, so C:L not C:H, with 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

Primary rating from Vendor (Gitea).

CVSS VectorVendor: Gitea

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

Lifecycle Timeline

2
CVSS changed
Oct 19, 2026 - 21:24 NVD
6.5 (MEDIUM)
CVE Published
Oct 18, 2026 - 18:57 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

The visibility check of Gitea user profiles was applied to GET requests only, while POST /{username} (follow and unfollow) required only a signed-in user. Any authenticated user could therefore obtain the full name, location, website and description of a user with a private profile from the response. The issue was fixed in 28.1.0 and disclosed with 28.2.0.

Threat Intelligence Overview

EPSS Score
0.2%
Top 96% exploitable
Prevalence
Medium
popular self-hosted git service, common but not ubiquitous in enterprises
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Gitea

View all
CVE-2026-60004 CRITICAL POC
9.8

Remote code execution in Gitea (self-hosted Git service) via a code-injection flaw (CWE-94) allows attackers to run arbi

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-72867 CRITICAL POC
9.9 Aug 10

Authenticated command injection in Dokploy (self-hostable PaaS) versions 0.29.3 through 0.29.12 lets a low-privileged us

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-59774 CRITICAL POC
9.8

Path traversal in Gitea's Org-mode (`.org`) markup renderer allows an attacker who can get Org-mode content rendered by

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-2026-57894 HIGH POC
8.5 Jul 21

Server-side request forgery and internal repository exfiltration in Gitea before 1.27.0 lets a low-privileged authentica

CVE-2026-24791 HIGH POC
8.1 Jun 17

Authorization bypass in Gitea versions 1.22.3 through 1.26.1 allows holders of `public-only` access tokens or OAuth gran

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