CVE-2024-9693

8.5 HIGH

📋 TL;DR

This vulnerability in GitLab CE/EE allows unauthorized access to the Kubernetes agent in a cluster under specific configurations. Attackers could potentially gain access to Kubernetes resources managed by GitLab. All GitLab instances using affected versions with Kubernetes agent configurations are impacted.

💻 Affected Systems

Products:
  • GitLab Community Edition
  • GitLab Enterprise Edition
Versions: 16.0 to 17.3.6, 17.4 to 17.4.3, 17.5 to 17.5.1
Operating Systems: All
Default Config Vulnerable: ✅ No
Notes: Only affects instances with Kubernetes agent configurations. Requires specific vulnerable configurations to be exploitable.

📦 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 compromise of Kubernetes clusters managed by GitLab, allowing attackers to deploy malicious pods, exfiltrate sensitive data, or disrupt operations.

🟠

Likely Case

Unauthorized access to Kubernetes resources, potentially leading to data exposure or limited cluster manipulation.

🟢

If Mitigated

Minimal impact if proper network segmentation and access controls are implemented, limiting exposure to authorized users only.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires knowledge of specific vulnerable configurations and access to the GitLab instance.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 17.3.7, 17.4.4, 17.5.2

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

Restart Required: Yes

Instructions:

1. Backup GitLab instance. 2. Update to patched version: 17.3.7, 17.4.4, or 17.5.2. 3. Restart GitLab services. 4. Verify Kubernetes agent functionality.

🔧 Temporary Workarounds

Disable Kubernetes Agent

linux

Temporarily disable the Kubernetes agent feature if not required.

gitlab-rails runner "Feature.disable(:kubernetes_agent)"

Restrict Network Access

linux

Limit network access to GitLab Kubernetes agent endpoints using firewall rules.

iptables -A INPUT -p tcp --dport 443 -s trusted_networks -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j DROP

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate GitLab from Kubernetes clusters.
  • Review and harden Kubernetes agent configurations to minimize attack surface.

🔍 How to Verify

Check if Vulnerable:

Check GitLab version: gitlab-rake gitlab:env:info | grep 'GitLab version'. If version falls within affected ranges and Kubernetes agent is configured, instance is vulnerable.

Check Version:

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

Verify Fix Applied:

Verify GitLab version is 17.3.7, 17.4.4, or 17.5.2 or higher. Test Kubernetes agent functionality to ensure it works properly.

📡 Detection & Monitoring

Log Indicators:

  • Unauthorized access attempts to Kubernetes agent endpoints in GitLab logs
  • Unexpected Kubernetes API calls originating from GitLab

Network Indicators:

  • Suspicious traffic between GitLab and Kubernetes clusters on non-standard ports
  • Unauthorized connection attempts to Kubernetes agent services

SIEM Query:

source="gitlab" AND ("kubernetes_agent" OR "unauthorized_access")

🔗 References

📤 Share & Export