CVE-2024-12619

5.2 MEDIUM

📋 TL;DR

This vulnerability allows authenticated internal users in GitLab to bypass access controls and view internal projects they shouldn't have permission to access. It affects all GitLab Community Edition and Enterprise Edition installations running vulnerable versions. The issue stems from improper authorization checks in the project access logic.

💻 Affected Systems

Products:
  • GitLab Community Edition
  • GitLab Enterprise Edition
Versions: 16.0 to 16.11.6 (excluding 17.8.6), 17.0 to 17.9.3 (excluding 17.9.3), 17.10 to 17.10.1 (excluding 17.10.1)
Operating Systems: All operating systems running GitLab
Default Config Vulnerable: ⚠️ Yes
Notes: All GitLab deployments with internal projects and internal users are affected. The vulnerability is in the core authorization logic.

📦 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

Internal users could access sensitive internal projects containing proprietary code, credentials, or confidential data, potentially leading to intellectual property theft or data breaches.

🟠

Likely Case

Internal users accidentally or intentionally accessing projects they shouldn't see, potentially exposing sensitive development work or configuration data.

🟢

If Mitigated

With proper network segmentation and least-privilege access controls, the impact is limited to authorized internal users accessing a slightly broader set of internal projects than intended.

🌐 Internet-Facing: LOW - This vulnerability requires authenticated internal user access, so internet-facing instances are not directly vulnerable unless attackers first compromise internal accounts.
🏢 Internal Only: HIGH - This directly affects internal users' ability to access restricted internal projects, posing significant risk to internal data confidentiality.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW - Requires authenticated internal user access but minimal technical skill to exploit once identified.

Exploitation requires an existing internal user account. No public exploit code has been released as of analysis.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 17.8.6, 17.9.3, or 17.10.1

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

Restart Required: Yes

Instructions:

1. Backup your GitLab instance. 2. Update to GitLab 17.8.6, 17.9.3, or 17.10.1 using your package manager. 3. Restart GitLab services. 4. Verify the update completed successfully.

🔧 Temporary Workarounds

Restrict internal user access

all

Temporarily reduce permissions for internal users or convert them to external users where possible

# Use GitLab API or admin interface to adjust user permissions
# No single command - requires manual user management

Convert internal projects to private

all

Change vulnerable internal projects to private visibility to prevent unauthorized access

# Use GitLab API: PUT /projects/:id with visibility=private
# Or use web interface: Project Settings > General > Visibility

🧯 If You Can't Patch

  • Implement strict network segmentation to limit which users can access GitLab instance
  • Enable enhanced logging and monitoring for unusual project access patterns by internal users

🔍 How to Verify

Check if Vulnerable:

Check GitLab version: if running 16.0-16.11.6 (except 17.8.6), 17.0-17.9.3 (except 17.9.3), or 17.10-17.10.1 (except 17.10.1), you are vulnerable.

Check Version:

sudo gitlab-rake gitlab:env:info | grep 'GitLab version'

Verify Fix Applied:

After updating, verify version is 17.8.6, 17.9.3, or 17.10.1 and test that internal users cannot access internal projects they lack permissions for.

📡 Detection & Monitoring

Log Indicators:

  • Unusual access patterns to internal projects by users
  • Multiple failed authorization attempts followed by successful access to restricted projects

Network Indicators:

  • Increased traffic to project repositories from unexpected internal IPs

SIEM Query:

source="gitlab.log" AND ("access denied" OR "unauthorized") AND "internal project"

🔗 References

📤 Share & Export