Skip to main content

CVE-2025-1299: GitLab Information Disclosure Vulnerability

CVE-2025-1299 is an information disclosure vulnerability in GitLab CE/EE that allows unauthorized users to read deployment job logs through crafted requests. This article covers technical details, affected versions, and mitigation.

Published:

CVE-2025-1299 Overview

CVE-2025-1299 is a missing authorization vulnerability [CWE-862] in GitLab Community Edition (CE) and Enterprise Edition (EE). The flaw allows an authenticated but unauthorized user to read deployment job logs by sending a crafted request to the affected endpoint. GitLab assigned the issue medium severity based on limited confidentiality impact and the requirement for authenticated access. The vulnerability affects all GitLab versions from 15.4 up to the patched releases in the 18.x branch. No exploitation in the wild has been reported, and no public proof-of-concept exists.

Critical Impact

Authenticated users can retrieve deployment job logs they should not access, exposing build output, environment metadata, and potentially secrets inadvertently written to logs.

Affected Products

  • GitLab CE/EE versions 15.4 through 18.0.4
  • GitLab CE/EE versions 18.1 through 18.1.2
  • GitLab CE/EE version 18.2 (prior to 18.2.1)

Discovery Timeline

  • 2025-07-24 - CVE-2025-1299 published to NVD
  • 2026-06-17 - Last updated in NVD database

Technical Details for CVE-2025-1299

Vulnerability Analysis

The vulnerability is a broken access control flaw in the GitLab API path that serves deployment job logs. Under specific conditions, GitLab fails to enforce the project or environment-level permission check before returning log content. An authenticated user with low privileges on the instance can send a crafted request and receive job log data intended for restricted deployment jobs.

Deployment job logs frequently contain sensitive operational information. This includes environment variable values echoed by scripts, container image tags, hostnames, deploy target paths, and occasionally masked or unmasked secrets used by CI/CD pipelines. Exposure of these logs can accelerate reconnaissance against production environments.

The vulnerability does not affect log integrity or availability. Impact is limited to confidentiality, as reflected in the CVSS vector C:L/I:N/A:N.

Root Cause

The root cause is a missing authorization check [CWE-862] on the endpoint that serves deployment job traces. The endpoint validates that the caller is authenticated but does not consistently validate that the caller has read access to the job or its parent environment. Details are tracked in GitLab Issue #519696.

Attack Vector

Exploitation requires network access to the GitLab instance and a valid user account with low privileges. The attacker sends a crafted HTTP request referencing the target deployment job identifier. No user interaction is required, and the request completes over standard GitLab API channels. See the HackerOne Report #2969145 for reporter context.

No public exploit code has been released. The vulnerability has an EPSS probability of 0.343% (percentile 27.6), indicating low near-term exploitation likelihood.

Detection Methods for CVE-2025-1299

Indicators of Compromise

  • Unexpected GET requests to deployment job trace or log endpoints originating from user accounts that lack membership in the target project.
  • Access log entries showing enumeration of sequential job IDs from a single authenticated session.
  • Spikes in 200 OK responses on job log endpoints correlated with unusual user-agent strings or API tokens.

Detection Strategies

  • Review GitLab audit and production logs for authenticated requests to job trace endpoints where the requesting user is not a project member.
  • Correlate GitLab user activity with project membership data to surface cross-project log access patterns.
  • Alert on personal access tokens or CI job tokens issuing large volumes of trace endpoint requests in short intervals.

Monitoring Recommendations

  • Forward GitLab production.log and api_json.log to a centralized logging platform and retain for at least 90 days.
  • Establish a baseline of normal deployment log access per user and alert on deviations.
  • Monitor for enumeration behavior by tracking sequential access to job IDs across projects.

How to Mitigate CVE-2025-1299

Immediate Actions Required

  • Upgrade GitLab CE/EE to 18.0.5, 18.1.3, or 18.2.1 or later as appropriate for your deployment branch.
  • Audit deployment job logs from the affected time window for secrets that may have been exposed and rotate any credentials found in logs.
  • Review access logs for suspicious reads against job trace endpoints by low-privileged accounts.

Patch Information

GitLab addressed the issue in versions 18.0.5, 18.1.3, and 18.2.1. Self-managed administrators should apply the corresponding upgrade for their release branch. GitLab.com SaaS customers received the fix automatically. Refer to GitLab Issue #519696 for tracking details.

Workarounds

  • If immediate upgrade is not possible, restrict GitLab instance access to trusted networks using an upstream reverse proxy or VPN.
  • Reduce the blast radius by limiting user account creation and disabling public sign-up on self-managed instances.
  • Enforce least-privilege project membership and remove stale users from projects with sensitive deployment pipelines.

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.