Description
`GET /api/v1/users/{username}/heatmap` computed the contribution heatmap with the repository access of the token owner and ignored the public-only restriction of the access token, unlike the activity feed endpoints. A holder of a user's public-only token could read contribution counts and their 15-minute time buckets that stem from that user's activity in private repositories. Repository names and contents were not disclosed. For public-only tokens the heatmap now only counts activity visible to anonymous users.
Published: 2026-11-01
Score: n/a
EPSS: n/a
KEV: No
Impact: Information disclosure of private repository activity via public-only tokens
Action: Update
AI Analysis

Impact

A request to the heatmap API endpoint performed computations using the accessing token’s permissions, ignoring the public‑only restriction applied to the token. This allowed a holder of a public‑only token to retrieve contribution counts and 15‑minute time buckets that reflected the target’s activity in private repositories, while not revealing repository names or contents. The exposed data can give an attacker a detailed activity pattern and timing of a user’s private work, which is a privacy breach and potentially useful for targeted attacks.

Affected Systems

All installations of Gitea before the 28.3.0 release are affected. The vulnerability is present in any deployment where the heatmap endpoint uses the token’s full access level without filtering for public visibility, regardless of the token’s declared scope.

Risk and Exploitability

The exploit is trivial for anyone who possesses a public‑only token: they can call the public heatmap endpoint, receive the private activity metadata, and use it for reconnaissance. The EPSS score is unavailable, and the flaw is not listed in CISA’s KEV catalog, but the impact level is moderate to high owing to the privacy implications. No special prerequisites beyond the token are required, and no authentication beyond the token is necessary. The flaw is narrowly scoped to exposure of activity data and does not affect repository contents.

Generated by OpenCVE AI on November 1, 2026 at 11:27 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Gitea to version 28.3.0 or later, where the heatmap endpoint respects public‑only token restrictions
  • Revoke or rotate any exported public‑only tokens that may have been shared or used in unsecured settings
  • Audit current token scopes and enforce the least‑privilege principle by limiting public‑only tokens to users who truly need them
  • Apply any additional security hardening recommendations from the Gitea release notes or community advisory

Generated by OpenCVE AI on November 1, 2026 at 11:27 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sun, 01 Nov 2026 10:00:00 +0000

Type Values Removed Values Added
Description `GET /api/v1/users/{username}/heatmap` computed the contribution heatmap with the repository access of the token owner and ignored the public-only restriction of the access token, unlike the activity feed endpoints. A holder of a user's public-only token could read contribution counts and their 15-minute time buckets that stem from that user's activity in private repositories. Repository names and contents were not disclosed. For public-only tokens the heatmap now only counts activity visible to anonymous users.
Title Gitea contribution heatmap private activity disclosure to public-only tokens
Weaknesses CWE-200
CWE-203
References

Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: Gitea

Published:

Updated: 2026-11-01T09:48:33.765Z

Reserved: 2026-11-01T08:48:41.170Z

Link: CVE-2026-114199

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Deferred

Published: 2026-11-01T10:18:34.710

Modified: 2026-11-01T10:18:34.833

Link: CVE-2026-114199

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-01T11:30:06Z

Weaknesses
  • CWE-200

    Exposure of Sensitive Information to an Unauthorized Actor

  • CWE-203

    Observable Discrepancy