CVE-2025-8405

7.7 HIGH

📋 TL;DR

This vulnerability in GitLab allows authenticated users to inject malicious HTML into vulnerability code flow displays, enabling them to perform unauthorized actions on behalf of other users. It affects GitLab Community Edition (CE) and Enterprise Edition (EE) installations running vulnerable versions. Attackers could potentially manipulate other users' sessions or perform actions without proper authorization.

💻 Affected Systems

Products:
  • GitLab Community Edition
  • GitLab Enterprise Edition
Versions: All versions from 17.1 before 18.4.6, 18.5 before 18.5.4, and 18.6 before 18.6.2
Operating Systems: All platforms running GitLab
Default Config Vulnerable: ⚠️ Yes
Notes: All GitLab deployments running affected versions are vulnerable regardless of configuration. The vulnerability requires authenticated user access.

📦 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

An attacker could perform administrative actions, access sensitive data, modify repositories, or compromise user accounts by exploiting session hijacking or privilege escalation through the HTML injection.

🟠

Likely Case

Attackers with authenticated access could perform unauthorized actions in the context of other users, potentially leading to data leakage, repository manipulation, or privilege escalation within the GitLab instance.

🟢

If Mitigated

With proper access controls and monitoring, impact would be limited to isolated incidents that could be detected and contained through existing security controls.

🌐 Internet-Facing: HIGH
🏢 Internal Only: HIGH

🎯 Exploit Status

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

Exploitation requires authenticated access and knowledge of HTML injection techniques. The vulnerability is in the vulnerability code flow display feature.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 18.4.6, 18.5.4, or 18.6.2

Vendor Advisory: https://about.gitlab.com/releases/2025/12/10/patch-release-gitlab-18-6-2-released/

Restart Required: Yes

Instructions:

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

🔧 Temporary Workarounds

Disable vulnerability code flow displays

all

Temporarily disable the vulnerability code flow display feature to prevent exploitation

gitlab-rails console
Feature.disable(:vulnerability_code_flow_display)

🧯 If You Can't Patch

  • Restrict user access to only trusted individuals and implement strict access controls
  • Enable enhanced logging and monitoring for suspicious activity in vulnerability-related features

🔍 How to Verify

Check if Vulnerable:

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

Check Version:

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

Verify Fix Applied:

After patching, verify version is 18.4.6, 18.5.4, or 18.6.2 or higher using: sudo gitlab-rake gitlab:env:info | grep 'GitLab version'

📡 Detection & Monitoring

Log Indicators:

  • Unusual HTML content in vulnerability code flow requests
  • Multiple failed authentication attempts followed by successful access
  • Unexpected user privilege changes

Network Indicators:

  • Unusual patterns in API calls to vulnerability endpoints
  • Suspicious HTML payloads in HTTP requests

SIEM Query:

source="gitlab" AND (message="vulnerability_code_flow" OR message="HTML injection")

🔗 References

📤 Share & Export