CVE-2024-8114

8.2 HIGH

📋 TL;DR

This vulnerability allows attackers with access to a victim's Personal Access Token (PAT) to escalate privileges in GitLab instances. It affects all GitLab CE/EE deployments running vulnerable versions. Attackers can gain higher-level access than originally granted by the compromised token.

💻 Affected Systems

Products:
  • GitLab Community Edition
  • GitLab Enterprise Edition
Versions: 8.12 to 17.4.4, 17.5.0 to 17.5.2, 17.6.0
Operating Systems: All platforms running GitLab
Default Config Vulnerable: ⚠️ Yes
Notes: All deployments with PATs enabled 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

Full administrative control of the GitLab instance, allowing data exfiltration, code manipulation, user account compromise, and complete system takeover.

🟠

Likely Case

Unauthorized access to sensitive repositories, user data, and CI/CD pipelines, potentially leading to intellectual property theft or supply chain attacks.

🟢

If Mitigated

Limited impact if PATs are properly scoped with minimal permissions and regularly rotated, though privilege escalation would still be possible with any valid PAT.

🌐 Internet-Facing: HIGH
🏢 Internal Only: HIGH

🎯 Exploit Status

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

Exploitation requires a valid PAT, which can be obtained through phishing, credential theft, or other means. The privilege escalation mechanism is straightforward once a PAT is compromised.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 17.4.5, 17.5.3, 17.6.1

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

Restart Required: Yes

Instructions:

1. Backup your GitLab instance. 2. Update to GitLab 17.4.5, 17.5.3, or 17.6.1 depending on your current version. 3. Restart GitLab services. 4. Verify the update was successful.

🔧 Temporary Workarounds

Revoke and Rotate PATs

all

Immediately revoke all existing Personal Access Tokens and require users to create new ones with minimal necessary permissions.

Admin users can revoke PATs via GitLab UI: Admin Area > Users > Select user > Access Tokens > Revoke

Restrict PAT Permissions

all

Enforce least privilege by limiting PAT scopes to only necessary permissions.

🧯 If You Can't Patch

  • Implement network segmentation to isolate GitLab instances from critical systems
  • Enable enhanced monitoring for unusual PAT usage patterns and privilege escalation attempts

🔍 How to Verify

Check if Vulnerable:

Check GitLab version via Admin Area > Dashboard or run: sudo gitlab-rake gitlab:env:info | grep 'GitLab version'

Check Version:

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

Verify Fix Applied:

Confirm version is 17.4.5, 17.5.3, or 17.6.1 or higher. Test that PATs cannot escalate beyond their assigned permissions.

📡 Detection & Monitoring

Log Indicators:

  • Unusual PAT authentication patterns
  • User privilege changes without admin action
  • Access to resources beyond PAT scope

Network Indicators:

  • Increased API calls from single PAT
  • Access to admin endpoints from non-admin tokens

SIEM Query:

source="gitlab" AND (event_type="user_privilege_change" OR (auth_method="PAT" AND resource_access="elevated"))

🔗 References

📤 Share & Export