CVE-2024-5655

9.6 CRITICAL

📋 TL;DR

This vulnerability in GitLab allows an attacker to trigger CI/CD pipelines as another user under specific conditions, potentially executing unauthorized code or accessing sensitive data. It affects GitLab Community Edition (CE) and Enterprise Edition (EE) installations across multiple recent versions. Organizations using affected GitLab instances for development pipelines are at risk.

💻 Affected Systems

Products:
  • GitLab Community Edition
  • GitLab Enterprise Edition
Versions: 15.8 to 16.11.4, 17.0 to 17.0.2, 17.1 to 17.1.0
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: All deployments with affected versions are vulnerable regardless of 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

An attacker could trigger pipelines with elevated privileges, potentially gaining access to sensitive credentials, deploying malicious code to production, or exfiltrating source code and secrets.

🟠

Likely Case

Attackers could abuse pipeline permissions to access internal build artifacts, secrets, or trigger unauthorized deployments in development environments.

🟢

If Mitigated

With proper access controls and monitoring, impact would be limited to unauthorized pipeline executions that could be detected and rolled back.

🌐 Internet-Facing: HIGH
🏢 Internal Only: HIGH

🎯 Exploit Status

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

Exploitation requires some level of access to the GitLab instance but can be performed by authenticated users with limited privileges.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 16.11.5, 17.0.3, 17.1.1

Vendor Advisory: https://about.gitlab.com/releases/

Restart Required: Yes

Instructions:

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

🔧 Temporary Workarounds

Restrict Pipeline Permissions

all

Tighten pipeline runner permissions and access controls to limit potential damage from unauthorized pipeline execution.

🧯 If You Can't Patch

  • Implement strict access controls on CI/CD runners and pipeline execution
  • Enable detailed audit logging for all pipeline activities and monitor for unauthorized executions

🔍 How to Verify

Check if Vulnerable:

Check your GitLab version against affected ranges: 15.8-16.11.4, 17.0-17.0.2, or 17.1-17.1.0.

Check Version:

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

Verify Fix Applied:

Verify GitLab version is 16.11.5, 17.0.3, or 17.1.1 or later.

📡 Detection & Monitoring

Log Indicators:

  • Unexpected pipeline triggers from unusual users or IPs
  • Pipeline executions with mismatched user permissions

Network Indicators:

  • Unusual API calls to pipeline endpoints
  • Suspicious runner registration or job requests

SIEM Query:

source="gitlab" AND (event="pipeline_created" OR event="job_started") | stats count by user, source_ip | where count > threshold

🔗 References

📤 Share & Export