Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-86341

CVE-2026-86341: GitLab EE Auth Bypass Vulnerability

CVE-2026-86341 is an authentication bypass flaw in GitLab Enterprise Edition allowing privileged users to disable deployment approvals under certain conditions. This article covers technical details, affected versions, and mitigation.

Published:

CVE-2026-86341 Overview

CVE-2026-86341 affects GitLab Enterprise Edition (EE) across multiple release branches. The vulnerability allows an authenticated user with Owner or Maintainer permissions to silently disable protected environment deployment approval requirements. This bypass permits unapproved deployments to reach production environments. The root cause is an improper access control check performed after the protected resource had already been modified, categorized under [CWE-1280] (Access Control Check Implemented After the Asset is Accessed).

Critical Impact

Authenticated users with elevated project permissions can disable deployment approval gates, allowing untrusted code changes to reach production without required reviewer sign-off.

Affected Products

  • GitLab EE all versions from 17.1 before 19.1.8
  • GitLab EE 19.2 before 19.2.6
  • GitLab EE 19.3 before 19.3.2

Discovery Timeline

  • 2026-09-16 - CVE-2026-86341 published to NVD
  • 2026-09-16 - Last updated in NVD database

Technical Details for CVE-2026-86341

Vulnerability Analysis

GitLab's protected environments feature enforces deployment approval workflows before code reaches production. The affected code path validates access authorization after the protected resource had already been altered. An authenticated user with Owner or Maintainer permissions could invoke the modification endpoint and toggle off deployment approval requirements. The subsequent access check does not roll back the state change, leaving the environment in an unprotected configuration. The flaw falls under the Business Logic Error and Broken Access Control categories.

Root Cause

The underlying weakness is [CWE-1280]: an access control check runs after the protected resource has already been modified. The order-of-operations defect means authorization logic executes too late in the request lifecycle to prevent state changes. GitLab's fix, tracked in GitLab Work Item #600088, moves validation ahead of the mutation.

Attack Vector

Exploitation requires an authenticated account holding Owner or Maintainer role on a target project. The attacker interacts with the protected environments configuration API or UI to disable deployment approval requirements. Once approvals are disabled, the attacker can push and deploy code to production without independent reviewer sign-off. The attack proceeds silently, without generating an approval workflow alert. See the GitLab Patch Release Notes for the vendor description.

No verified proof-of-concept code is publicly available for this issue.

Detection Methods for CVE-2026-86341

Indicators of Compromise

  • Audit log entries showing protected_environment modification events performed by Owner or Maintainer accounts outside change windows.
  • Deployment jobs reaching production without corresponding approval records in the deployment approval log.
  • Unexpected changes to the required_approval_count value on protected environments dropping to zero.

Detection Strategies

  • Query the GitLab audit event stream for protected_environment_updated events and correlate them with subsequent deployment activity lacking approver identities.
  • Establish a baseline of Owner and Maintainer configuration changes and alert on deviations that touch deployment gating settings.
  • Compare running configuration of protected environments against a known-good policy stored in version control.

Monitoring Recommendations

  • Forward GitLab audit logs to a centralized SIEM and index on entity_type=ProtectedEnvironment.
  • Alert on any deployment to a production environment where the approver list is empty.
  • Review role assignments periodically to minimize the number of Owner and Maintainer accounts eligible to modify protected environments.

How to Mitigate CVE-2026-86341

Immediate Actions Required

  • Upgrade GitLab EE to 19.1.8, 19.2.6, 19.3.2, or later depending on the deployed branch.
  • Audit all protected environments to confirm that required_approval_count values match the intended policy.
  • Review recent deployments to production environments for any that bypassed approval workflows.

Patch Information

GitLab has released fixed builds documented in the GitLab Patch Release Notes. Administrators running self-managed GitLab EE should upgrade to 19.1.8, 19.2.6, or 19.3.2. GitLab.com is already running the patched code. Track remediation progress against GitLab Work Item #600088.

Workarounds

  • Restrict Owner and Maintainer role assignments to a minimal set of trusted operators until patching is complete.
  • Enforce deployment approvals through an external CI/CD gate or change-management system that cannot be modified from within GitLab.
  • Enable audit event streaming and configure alerts on any modification to protected environment settings.

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.