CVE-2024-4025

6.5 MEDIUM

📋 TL;DR

A Denial of Service vulnerability in GitLab allows attackers to crash the application by uploading specially crafted markdown pages. This affects all GitLab Community Edition and Enterprise Edition installations running vulnerable versions, potentially disrupting service availability.

💻 Affected Systems

Products:
  • GitLab Community Edition
  • GitLab Enterprise Edition
Versions: 7.10 to 16.11.4, 17.0 to 17.0.2, 17.1 to 17.1.0
Operating Systems: All supported platforms
Default Config Vulnerable: ⚠️ Yes
Notes: All deployments with markdown functionality enabled (default) are vulnerable. Self-managed and GitLab.com SaaS instances 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 unavailability requiring manual restart of GitLab services, potentially affecting all users and CI/CD pipelines.

🟠

Likely Case

Temporary service disruption affecting web interface and API availability until services are restarted.

🟢

If Mitigated

Minimal impact with proper access controls limiting who can create markdown pages and monitoring to detect DoS attempts.

🌐 Internet-Facing: HIGH - Public GitLab instances are directly exposed to exploitation by any internet user.
🏢 Internal Only: MEDIUM - Internal users with access to create markdown pages could exploit this, but attack surface is limited to authenticated users.

🎯 Exploit Status

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

Exploitation requires ability to create or edit markdown pages, which typically requires at least Reporter role. The vulnerability is in markdown parsing logic.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 16.11.5, 17.0.3, 17.1.1

Vendor Advisory: https://about.gitlab.com/releases/2024/04/30/security-release-gitlab-16-11-5-released/

Restart Required: Yes

Instructions:

1. Backup your GitLab instance. 2. Update to patched version: For Omnibus: sudo apt-get update && sudo apt-get install gitlab-ce=16.11.5-ce.0 (adjust version). 3. Run sudo gitlab-ctl reconfigure. 4. Verify services restart successfully.

🔧 Temporary Workarounds

Restrict markdown creation

all

Temporarily restrict permissions for creating or editing markdown pages to trusted users only.

# Adjust project/group permissions via GitLab UI or API
# Set minimum role for creating issues/Wikis to Maintainer or higher

Rate limiting

linux

Implement rate limiting on markdown-related endpoints to slow down potential DoS attempts.

# Configure in gitlab.rb: nginx['rate_limit_requests_per_period'] = 10
# nginx['rate_limit_period'] = '1m'

🧯 If You Can't Patch

  • Implement strict access controls limiting markdown creation to essential personnel only
  • Deploy WAF rules to detect and block suspicious markdown payload patterns

🔍 How to Verify

Check if Vulnerable:

Check GitLab version: sudo gitlab-rake gitlab:env:info | grep 'GitLab version'. If version falls in affected ranges, instance is vulnerable.

Check Version:

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

Verify Fix Applied:

After patching, verify version is 16.11.5+, 17.0.3+, or 17.1.1+. Test markdown functionality works normally without service disruption.

📡 Detection & Monitoring

Log Indicators:

  • Unusual markdown processing errors in production.log
  • Application crashes or restarts following markdown operations
  • High CPU/memory usage from GitLab processes

Network Indicators:

  • Multiple rapid requests to markdown preview or rendering endpoints
  • Unusually large markdown payloads

SIEM Query:

source="gitlab" AND ("markdown" OR "wiki") AND ("error" OR "crash" OR "exception")

🔗 References

📤 Share & Export