CVE-2024-5423

6.5 MEDIUM

📋 TL;DR

This vulnerability allows attackers to cause Denial of Service (DoS) conditions in GitLab instances by exploiting resource exhaustion through the banzai pipeline. All GitLab CE/EE installations within specified version ranges are affected, potentially making services unavailable to legitimate users.

💻 Affected Systems

Products:
  • GitLab Community Edition
  • GitLab Enterprise Edition
Versions: All versions from 1.0 prior to 17.0.6, from 17.1 prior to 17.1.4, and from 17.2 prior to 17.2.2
Operating Systems: All supported platforms
Default Config Vulnerable: ⚠️ Yes
Notes: All standard GitLab installations with banzai pipeline enabled are vulnerable.

📦 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

Complete service unavailability for all users, requiring manual intervention to restore functionality.

🟠

Likely Case

Degraded performance or temporary service interruptions affecting user productivity.

🟢

If Mitigated

Minimal impact with proper rate limiting, resource monitoring, and network segmentation in place.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires authenticated access but is technically simple once access is obtained.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 17.0.6, 17.1.4, or 17.2.2

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

Restart Required: Yes

Instructions:

1. Backup your GitLab instance. 2. Update to GitLab 17.0.6, 17.1.4, or 17.2.2 using your package manager. 3. Restart GitLab services. 4. Verify the update was successful.

🔧 Temporary Workarounds

Rate Limiting Configuration

linux

Implement strict rate limiting on API endpoints and web interfaces to prevent resource exhaustion attacks.

# Configure in GitLab configuration file (gitlab.rb)
nginx['rate_limit_requests_per_period'] = 10
nginx['rate_limit_period'] = '1s'

Resource Monitoring and Alerting

linux

Set up monitoring for system resources (CPU, memory) and implement alerts for abnormal consumption patterns.

# Example Prometheus alert rule
ALERT HighMemoryUsage
IF node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100 < 10
FOR 5m
LABELS { severity = "critical" }
ANNOTATIONS {
  summary = "High memory usage on {{ $labels.instance }}"
}

🧯 If You Can't Patch

  • Implement strict network segmentation to limit access to GitLab instances
  • Enable comprehensive logging and monitoring for unusual resource consumption patterns

🔍 How to Verify

Check if Vulnerable:

Check your GitLab version against affected ranges: 1.0-17.0.5, 17.1.0-17.1.3, or 17.2.0-17.2.1

Check Version:

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

Verify Fix Applied:

Confirm GitLab version is 17.0.6, 17.1.4, or 17.2.2 or later, and monitor for abnormal resource usage patterns.

📡 Detection & Monitoring

Log Indicators:

  • Unusually high CPU/memory usage in system logs
  • Multiple failed or slow banzai pipeline operations in GitLab logs
  • Increased error rates in application logs

Network Indicators:

  • Spike in requests to banzai-related endpoints
  • Unusual traffic patterns from single IP addresses

SIEM Query:

source="gitlab.log" AND ("banzai" OR "pipeline") AND ("error" OR "timeout" OR "slow")

🔗 References

📤 Share & Export