CVE-2018-15472

7.5 HIGH

📋 TL;DR

This vulnerability in GitLab allows attackers to cause denial of service by exploiting a timeout issue in the diff formatter using rouge in Sidekiq jobs. Affected systems include GitLab Community and Enterprise Edition before specific versions, potentially impacting all users of vulnerable instances.

💻 Affected Systems

Products:
  • GitLab Community Edition
  • GitLab Enterprise Edition
Versions: Before 11.1.7, 11.2.x before 11.2.4, 11.3.x before 11.3.1
Operating Systems: All supported platforms
Default Config Vulnerable: ⚠️ Yes
Notes: All standard installations with vulnerable versions are 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

Complete service disruption through resource exhaustion, making GitLab unavailable for all users.

🟠

Likely Case

Degraded performance and intermittent service interruptions affecting user productivity.

🟢

If Mitigated

Minimal impact with proper monitoring and resource limits in place.

🌐 Internet-Facing: HIGH - Internet-facing GitLab instances are directly exposed to potential DoS attacks.
🏢 Internal Only: MEDIUM - Internal instances are less exposed but still vulnerable to internal threats or accidental triggering.

🎯 Exploit Status

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

Exploitation requires ability to trigger diff processing, typically through repository operations.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 11.1.7, 11.2.4, or 11.3.1

Vendor Advisory: https://about.gitlab.com/releases/2018/10/01/security-release-gitlab-11-dot-3-dot-1-released/

Restart Required: Yes

Instructions:

1. Backup your GitLab instance. 2. Update to GitLab 11.1.7, 11.2.4, or 11.3.1 or later. 3. Restart GitLab services. 4. Verify the update was successful.

🔧 Temporary Workarounds

Configure Sidekiq timeouts

all

Set explicit timeouts for Sidekiq jobs to limit potential blocking

Edit GitLab configuration to add: Sidekiq::Limiter.timeout = 30

Rate limit repository operations

all

Implement rate limiting on repository operations that trigger diff processing

Configure rate limiting in GitLab's application settings

🧯 If You Can't Patch

  • Implement strict network segmentation and firewall rules to limit access to GitLab
  • Deploy monitoring and alerting for Sidekiq job execution times and resource usage

🔍 How to Verify

Check if Vulnerable:

Check GitLab version via admin interface or command: sudo gitlab-rake gitlab:env:info

Check Version:

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

Verify Fix Applied:

Confirm version is 11.1.7, 11.2.4, 11.3.1 or later and monitor Sidekiq job performance

📡 Detection & Monitoring

Log Indicators:

  • Long-running Sidekiq jobs in production.log
  • Timeout errors in sidekiq.log
  • High CPU/memory usage alerts

Network Indicators:

  • Increased response times for GitLab operations
  • Timeout errors from GitLab API

SIEM Query:

source="gitlab.log" AND ("Sidekiq" AND "timeout" OR "blocked" AND "diff")

🔗 References

📤 Share & Export