CVE-2018-17451

8.8 HIGH

📋 TL;DR

This vulnerability allows attackers to perform Cross-Site Request Forgery (CSRF) attacks against GitLab's Slack integration, enabling unauthorized execution of slash commands. It affects GitLab Community and Enterprise Edition users with Slack integration configured. Attackers could manipulate legitimate users into performing unintended actions through crafted requests.

💻 Affected Systems

Products:
  • GitLab Community Edition
  • GitLab Enterprise Edition
Versions: GitLab CE/EE < 11.1.7, 11.2.x < 11.2.4, 11.3.x < 11.3.1
Operating Systems: All platforms running affected GitLab versions
Default Config Vulnerable: ✅ No
Notes: Only vulnerable when Slack integration is enabled and configured. Self-managed instances are affected; GitLab.com SaaS was patched automatically.

📦 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

Attackers could execute arbitrary slash commands with the victim's permissions, potentially modifying repositories, creating/deleting issues, or performing other administrative actions depending on the user's role.

🟠

Likely Case

Attackers trick authenticated users into executing unwanted slash commands, leading to unauthorized repository changes, issue manipulation, or data exposure.

🟢

If Mitigated

With proper CSRF protections and user awareness, the risk is limited to isolated incidents with minimal impact.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires social engineering to trick authenticated users into visiting malicious pages. No authentication bypass needed if user is already logged into GitLab.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: GitLab 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 using your package manager. 3. Restart GitLab services. 4. Verify the update was successful.

🔧 Temporary Workarounds

Disable Slack Integration

all

Temporarily disable the Slack integration to eliminate the attack vector until patching is possible.

Navigate to Admin Area > Settings > Integrations > Slack, then disable or remove the integration

Implement CSRF Tokens Manually

all

Add CSRF protection to Slack integration endpoints if custom development is possible.

🧯 If You Can't Patch

  • Disable Slack integration completely
  • Implement network segmentation to restrict access to GitLab from untrusted networks

🔍 How to Verify

Check if Vulnerable:

Check GitLab version via Admin Area or command line. If version is < 11.1.7, or 11.2.x < 11.2.4, or 11.3.x < 11.3.1, and Slack integration is enabled, the system is vulnerable.

Check Version:

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

Verify Fix Applied:

Confirm GitLab version is 11.1.7, 11.2.4, or 11.3.1 or higher. Verify Slack integration functions normally without CSRF warnings.

📡 Detection & Monitoring

Log Indicators:

  • Unusual slash command patterns from unexpected IP addresses
  • Multiple failed CSRF validations in application logs

Network Indicators:

  • Unexpected POST requests to /api/v4/integrations/slack/slash_commands endpoints

SIEM Query:

source="gitlab.log" AND "CSRF token authenticity" AND "failed"

🔗 References

📤 Share & Export