CVE-2025-2615

4.3 MEDIUM

📋 TL;DR

This vulnerability allows blocked GitLab users to access sensitive information by establishing GraphQL subscriptions through WebSocket connections. It affects GitLab CE/EE installations running vulnerable versions, potentially exposing confidential data to unauthorized users.

💻 Affected Systems

Products:
  • GitLab Community Edition
  • GitLab Enterprise Edition
Versions: 16.7 to 18.3.5, 18.4 to 18.4.3, 18.5 to 18.5.1
Operating Systems: All supported platforms
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all deployments with GraphQL and WebSocket functionality enabled (default configuration).

📦 What is this software?

Gitlab by Gitlab

GitLab is a complete DevOps platform providing source code management, CI/CD pipelines, security scanning, container registry, and collaboration tools used by millions of developers and thousands of enterprises worldwide. As both a cloud-hosted SaaS offering (GitLab.com) and self-managed software, G...

Learn more about Gitlab →

Gitlab by Gitlab

GitLab is a complete DevOps platform providing source code management, CI/CD pipelines, security scanning, container registry, and collaboration tools used by millions of developers and thousands of enterprises worldwide. As both a cloud-hosted SaaS offering (GitLab.com) and self-managed software, G...

Learn more about Gitlab →

Gitlab by Gitlab

GitLab is a complete DevOps platform providing source code management, CI/CD pipelines, security scanning, container registry, and collaboration tools used by millions of developers and thousands of enterprises worldwide. As both a cloud-hosted SaaS offering (GitLab.com) and self-managed software, G...

Learn more about Gitlab →

Gitlab by Gitlab

GitLab is a complete DevOps platform providing source code management, CI/CD pipelines, security scanning, container registry, and collaboration tools used by millions of developers and thousands of enterprises worldwide. As both a cloud-hosted SaaS offering (GitLab.com) and self-managed software, G...

Learn more about Gitlab →

Gitlab by Gitlab

GitLab is a complete DevOps platform providing source code management, CI/CD pipelines, security scanning, container registry, and collaboration tools used by millions of developers and thousands of enterprises worldwide. As both a cloud-hosted SaaS offering (GitLab.com) and self-managed software, G...

Learn more about Gitlab →

Gitlab by Gitlab

GitLab is a complete DevOps platform providing source code management, CI/CD pipelines, security scanning, container registry, and collaboration tools used by millions of developers and thousands of enterprises worldwide. As both a cloud-hosted SaaS offering (GitLab.com) and self-managed software, G...

Learn more about Gitlab →

⚠️ Risk & Real-World Impact

🔴

Worst Case

Blocked users could access sensitive information including private repositories, user data, or internal project details they should be restricted from viewing.

🟠

Likely Case

Blocked users with existing WebSocket connections could maintain access to GraphQL subscription data they should have lost access to after being blocked.

🟢

If Mitigated

With proper access controls and monitoring, impact is limited to potential information disclosure to blocked users who maintain active WebSocket sessions.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires a previously authenticated user who gets blocked while maintaining WebSocket connections.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 18.3.6, 18.4.4, or 18.5.2

Vendor Advisory: https://about.gitlab.com/releases/2025/11/12/patch-release-gitlab-18-5-2-released/

Restart Required: Yes

Instructions:

1. Backup your GitLab instance. 2. Update to GitLab 18.3.6, 18.4.4, or 18.5.2 depending on your current version. 3. Restart GitLab services. 4. Verify the update completed successfully.

🔧 Temporary Workarounds

Disable GraphQL WebSocket subscriptions

all

Temporarily disable GraphQL subscriptions over WebSocket connections to prevent exploitation

Edit GitLab configuration to disable GraphQL subscriptions feature

Terminate active WebSocket connections

all

Force close existing WebSocket connections when users are blocked

Implement connection termination scripts or modify user blocking procedures

🧯 If You Can't Patch

  • Monitor and terminate WebSocket connections for blocked users
  • Implement additional access controls and monitoring for GraphQL endpoints

🔍 How to Verify

Check if Vulnerable:

Check GitLab version against affected ranges: 16.7-18.3.5, 18.4-18.4.3, or 18.5-18.5.1

Check Version:

sudo gitlab-rake gitlab:env:info | grep 'Version:'

Verify Fix Applied:

Confirm GitLab version is 18.3.6, 18.4.4, or 18.5.2 or higher

📡 Detection & Monitoring

Log Indicators:

  • Unusual GraphQL subscription activity from blocked users
  • WebSocket connections persisting after user blocking

Network Indicators:

  • Sustained WebSocket connections from blocked user accounts
  • GraphQL subscription traffic from unauthorized sources

SIEM Query:

source="gitlab" AND (user_status="blocked" AND protocol="websocket")

🔗 References

📤 Share & Export