CVE-2024-8650

5.3 MEDIUM

📋 TL;DR

This vulnerability allows non-member users to view internal notes in public GitLab merge requests. It affects GitLab CE/EE instances where public projects have merge requests with internal notes marked as unresolved threads. The exposure could reveal sensitive internal discussions to unauthorized external users.

💻 Affected Systems

Products:
  • GitLab Community Edition
  • GitLab Enterprise Edition
Versions: 15.0 to 17.4.5, 17.5.0 to 17.5.3, 17.6.0 to 17.6.1
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects public projects with merge requests containing unresolved threads marked as internal notes. Private/internal projects are not affected.

📦 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

Sensitive internal discussions about security issues, code vulnerabilities, or business decisions are exposed to unauthorized external users, potentially leading to information disclosure that could be leveraged for further attacks.

🟠

Likely Case

Unauthorized users can view internal team discussions, comments about code quality, or minor operational details that were intended to remain private within the organization.

🟢

If Mitigated

With proper access controls and monitoring, the impact is limited to viewing non-critical internal discussions, though still represents an information disclosure violation.

🌐 Internet-Facing: HIGH
🏢 Internal Only: LOW

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires no authentication - any internet user can access affected public merge requests. The vulnerability is simple to exploit by navigating to public project merge requests.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 17.4.6, 17.5.4, 17.6.2

Vendor Advisory: https://gitlab.com/gitlab-org/gitlab/-/issues/486300

Restart Required: Yes

Instructions:

1. Backup your GitLab instance. 2. Update to GitLab 17.4.6, 17.5.4, or 17.6.2 depending on your current version. 3. Restart GitLab services. 4. Verify the update was successful.

🔧 Temporary Workarounds

Convert Public Projects to Private

all

Temporarily change affected public projects to private to prevent unauthorized access while planning the upgrade.

Navigate to Project Settings > General > Visibility, project, feature, and permissions > Change project visibility to Private

Disable Merge Request Notes

all

Temporarily disable notes on merge requests in public projects to prevent exposure of internal discussions.

Navigate to Project Settings > General > Merge requests > Disable 'Allow users to comment on merge requests'

🧯 If You Can't Patch

  • Monitor access logs for unauthorized viewing of merge request threads in public projects
  • Implement web application firewall rules to block suspicious access patterns to merge request endpoints

🔍 How to Verify

Check if Vulnerable:

Check if your GitLab version falls within affected ranges: 15.0-17.4.5, 17.5.0-17.5.3, or 17.6.0-17.6.1

Check Version:

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

Verify Fix Applied:

After updating, verify the version is 17.4.6, 17.5.4, or 17.6.2 or higher, then test that non-members cannot view internal notes in public project merge requests

📡 Detection & Monitoring

Log Indicators:

  • Unauthorized user access to /merge_requests/* endpoints
  • Multiple failed authentication attempts followed by merge request access

Network Indicators:

  • Unusual traffic patterns to merge request endpoints from external IPs
  • Increased requests to /api/v4/projects/*/merge_requests/*

SIEM Query:

source="gitlab" AND (uri_path="/merge_requests/*" OR uri_path="/api/v4/projects/*/merge_requests/*") AND user_id="-1" OR user="anonymous"

🔗 References

📤 Share & Export