Cloudanix VulnDB

CVE-2024-8114

High · 8.8

CVSS

8.8

EPSS

0.7%

Published

Nov 26, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A stolen login token meant for one person could let an attacker gain much higher access inside GitLab, potentially exposing private code and data until the system is updated.

Exploitation
Remote Authenticated
Attacker needs
Low Privilege
Complexity
Moderate
Impact
Privilege Gain
Component
Application
Class
Privilege Escalation
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The vulnerability permits an attacker possessing a victim's Personal Access Token to perform unauthorized privilege escalation within GitLab CE/EE instances.

Why it matters to the business

Compromised accounts can lead to unauthorized access to source code, project data, CI/CD pipelines, and user information, increasing risk of intellectual property theft, supply chain attacks, and compliance violations; organizations using older GitLab versions face elevated urgency for patching due to the 2024 disclosure.

How an attack unfolds

An attacker first obtains a victim's Personal Access Token through phishing, malware, or credential theft, then uses the token in API requests or web sessions to trigger the privilege escalation flaw, bypassing intended permission boundaries to gain elevated access without additional authentication.

How to fix it

Upgrade GitLab CE/EE to versions 17.4.5, 17.5.3, or 17.6.1 or later; the fix is included in commit 3ead12a16d7bd8f1c481504e03042aaf6e10f108. Review and rotate all Personal Access Tokens after patching. Disable unnecessary PATs and enforce least-privilege token scopes.

How to confirm the fix worked

Verify instance version is at or above the fixed releases; test by confirming that PAT usage no longer permits privilege escalation beyond the token owner's assigned role; audit recent PAT-authenticated sessions for anomalous activity.

Typical attack path

  1. Obtain victim's Personal Access Token via social engineering or prior compromise
  2. Authenticate to GitLab using the stolen PAT in API calls or browser sessions
  3. Trigger the escalation condition through crafted requests targeting affected endpoints
  4. Perform actions with escalated privileges such as accessing restricted projects or modifying settings

How to detect it

Review GitLab authentication and audit logs for PAT usage followed by unexpected permission changes or access to resources outside the token owner's normal scope; correlate with failed login attempts or new project/repository access patterns.

What your security team should do

  • Immediately upgrade all GitLab instances to the fixed versions 17.4.5, 17.5.3, or 17.6.1
  • Rotate Personal Access Tokens organization-wide and enforce short expiration policies
  • Monitor authentication logs for PAT usage from unexpected locations or with unusual permission requests
  • Conduct a post-patch audit of user permissions and project access controls

The record

An issue has been discovered in GitLab CE/EE affecting all versions from 8.12 before 17.4.5, 17.5 before 17.5.3, and 17.6 before 17.6.1. This issue allows an attacker with access to a victim's Personal Access Token (PAT) to escalate privileges.

Affected packages

Ecosystem Package Introduced Fixed
Bitnami gitlab 8.12.0 17.4.5
Chainguard gitlab-docker-machine-17.6 0 17.6.1-r0
Chainguard gitlab-docker-machine-fips-17.6 0 17.6.1-r0
Chainguard gitlab-runner-17.6 0 17.6.1-r0
Chainguard gitlab-runner-fips-17.6 0 17.6.1-r0
Chainguard gitlab-runner-helper-17.6 0 17.6.1-r0
Chainguard gitlab-runner-helper-compat-17.6 0 17.6.1-r0
Chainguard gitlab-runner-helper-fips-17.6 0 17.6.1-r0
Chainguard gitlab-runner-helper-oci-entrypoint-17.6 0 17.6.1-r0
Chainguard gitlab-runner-oci-entrypoint-17.6 0 17.6.1-r0
Ubuntu:16.04:LTS gitlab 0 No fix
Ubuntu:Pro:16.04:LTS gitlab 0 No fix

Related vulnerabilities