Skip to main content

GitLab EE EUVDEUVD-2026-80221

| CVE-2026-79708 HIGH
Incorrect Authorization (CWE-863)
2026-09-16 GitLab GHSA-4gg6-pm69-gwm2
8.5
CVSS 3.1 · Vendor: GitLab
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Authenticate with Developer role in target group
  2. Delivery
    Create or reuse security policy test pipeline
  3. Exploit
    Trigger pipeline within group project
  4. Install
    Bypass CI/CD variable scope validation
  5. C2
    Job inherits Maintainer-scoped protected variables
  6. Execute
    Exfiltrate secrets from job log
  7. Impact
    Reuse tokens for lateral movement

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires (1) a GitLab EE instance at an affected version, (2) an authenticated account with the Developer role in a group whose project has security policies that can be exercised through a policy test pipeline, and (3) protected CI/CD variables configured in that project and scoped to a higher-privileged role (Maintainer/Owner) or to an environment the policy pipeline resolves into. The attacker does not need Maintainer rights, user interaction, or a non-default network position - AV:N/AC:L/UI:N/PR:L applies directly. What limits exploitation: the Developer membership itself is the gatekeeper, so purely anonymous or self-registered users on instances with restricted sign-up are not exposed; the target group must actually define security/policy pipelines and role-scoped protected variables, which many smaller groups never configure; and Community Edition is not named in the advisory, so CE-only deployments may be unaffected pending verification.

Impact

CVSS 3.1 rates this 8.5 (AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:H/A:N), with the score driven by the scope change and integrity impact rather than any unauthenticated exposure - the attacker must still hold a valid Developer account, so this is privilege escalation inside a group rather than an open door. That PR:L precondition is the main brake on real-world risk: an outside attacker would first need to obtain or be granted developer-level access, which typically means a compromised low-privilege account or a malicious insider. Public exploit details are available through the cited HackerOne report, which raises the likelihood of rapid weaponization against unpatched instances, but there is no CISA KEV entry and no EPSS score was supplied with this record, so widespread automated exploitation is not confirmed; even a mid-sized municipal IT team running an internal GitLab instance in leszno should treat it as urgent, yet can fold the upgrade into its normal maintenance window rather than declaring a live emergency. Note the tension in the data: the vendor vector assigns only C:L for confidentiality even though the disclosed objects are protected CI/CD variables that often hold deployment keys and tokens - if those secrets are broadly scoped, real confidentiality impact may exceed the scored value, and vice versa if protected variables contain only non-sensitive values. Under SSVC this reads as Exploitation: PoC, Automatable: yes, Technical Impact: partial, which for most organizations justifies out-of-cycle remediation; the EPSS/KEV gap is the single biggest uncertainty in this assessment.

Exploit ScenarioDerived

An attacker who holds a Developer role in a group project - a compromised contractor account, a low-privilege insider, or an account granted via a weak onboarding process - creates or reuses a security policy test pipeline in a project within their group. Because the scope check is missing, the resulting job inherits protected CI/CD variables normally reserved for Maintainer or Owner roles, and a trivial script step echoing the environment dumps those secrets into the job log or to an external endpoint. With AC:L, PR:L and UI:N on a network-reachable instance, the whole chain can be scripted end-to-end, and a public PoC is already referenced.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 16, 2026

Insufficient scope validation in GitLab Enterprise Edition lets an authenticated user holding only Developer permissions run security policy test pipelines inside projects in their own group and read protected CI/CD variables that are meant to be restricted to Maintainer or Owner roles. All EE releases from 19.0 up to 19.1.8, 19.2.6 and 19.3.2 are affected, and GitLab shipped fixes in those patch releases. Publicly available exploit code exists (a HackerOne report is referenced), but there is no confirmed active exploitation and no CISA KEV listing.

RemediationAI

Upgrade to a fixed release: GitLab EE 19.1.8, 19.2.6 or 19.3.2 (or later) per the vendor advisory at https://docs.gitlab.com/releases/patches/patch-release-gitlab-19-3-2-released/ - GitLab's monthly patch release is the primary fix and there is no separate hotfix to apply. If an immediate upgrade is not possible, reduce exposure by auditing and trimming Developer-role membership in groups that own security policies, temporarily removing protected CI/CD variable scoping from any policy test pipeline that a Developer can trigger (the trade-off is that Maintainers also lose the convenience of scoped variables until the setting is restored), and disabling or restricting the ability for Developers to run policy test pipelines. Treat the secrets in affected protected variables as potentially compromised: rotate deployment keys, tokens and cloud credentials that were visible to Developer-role users, and review CI job logs and audit events for unexpected variable dumps. Because public exploit detail exists, prioritize internet-reachable or multi-tenant GitLab instances and check audit logs for policy-test-pipeline runs by non-Maintainer accounts before and after patching.

Affected VersionsENISA

GitLab 19.2 <19.2.6
GitLab 19.0 <19.1.8
GitLab 19.3 <19.3.2

Affected Packages

euvd gitlab fix: 19.1.8, 19.2.6, 19.3.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The flaw lives in GitLab's CI/CD security policy machinery - the components that let groups define pipeline execution, scan execution and scan result policies and then run a 'policy test pipeline' to validate them. Under CWE-863 (Incorrect Authorization), the policy test pipeline path performed insufficient scope validation: it did not properly check whether the requesting user's role entitled them to the CI/CD variables bound to that pipeline context, so variables configured as protected and scoped to higher-privileged roles were injected into jobs a Developer could trigger. GitLab's own CPE entry (cpe:2.3:a:gitlab:gitlab:*:*:*:*:*:*:*:*) is generic and does not separate Community from Enterprise Edition, but the advisory explicitly scopes the issue to GitLab EE, i.e. the Premium/Ultimate tiers where protected variables and security policies are configured. The vulnerable primitive is authorization-context confusion between the user who triggers a pipeline and the role scope attached to a secret, not a memory-safety or injection defect.

Know when Gitlab gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitLab) PRIMARY 8.5 HIGH
AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:H/A:N
vuln.today AI 8.5 HIGH

Network-reachable but requires a Developer account (PR:L, AC:L); exposed objects are protected CI/CD secrets so confidentiality is the dominant impact, with limited pipeline integrity effects.

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitLab).

CVSS VectorVendor: GitLab

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
Low
Integrity
High
Availability
None

Lifecycle Timeline

2
Patch available
Sep 16, 2026 - 07:01 EUVD
CVE Published
Sep 16, 2026 - 06:33 cve.org
HIGH 8.5

DescriptionCVE.org

GitLab has remediated an issue in GitLab EE affecting all versions from 19.0 before 19.1.8, 19.2 before 19.2.6, and 19.3 before 19.3.2 that, under certain conditions could have allowed an authenticated user with developer permissions to execute a policy test pipeline on projects within their group and access protected CI/CD variables restricted to higher-privileged roles, due to insufficient scope validation.

Executive ViewAI

Why It Matters

GitLab Enterprise Edition deployments on versions 19.0 through 19.1.8, 19.2.6 and 19.3.2 allow users with only Developer-level group permissions to run security policy test pipelines in their own group's projects and read protected CI/CD variables that are intended to be limited to Maintainer or Owner roles. This effectively converts a routine developer account - the most widely granted role in most organizations - into a path for harvesting the credentials, tokens and secrets that protect production systems and third-party integrations. Any organization running self-managed GitLab EE with broadly distributed Developer access should treat this as a priority exposure because the barrier to abuse is low and publicly available exploit code exists (no confirmed active exploitation and no CISA KEV listing at time of analysis), with impact driven by the sensitivity of the secrets stored in project CI/CD configuration.

Business Impact: High
Compensating Controls

Apply vendor patch: GitLab EE 19.1.8, 19.2.6 or 19.3.2, per the referenced fix releases. Where upgrading within 24 hours is not feasible, restrict or temporarily revoke Developer-role memberships in groups holding sensitive protected CI/CD variables, re-scope variables so they are exposed only to protected branches and Maintainer/Owner-level pipelines, rotate any secrets that may have been accessible, and monitor for unexpected security policy test pipeline executions.

Threat Intelligence Overview

EPSS Score
0.3%
Top 73% exploitable
Prevalence
High
widely deployed enterprise DevOps/CI-CD platform
Exploit
POC
Public exploit code exists
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC Yes
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
Poc
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

62
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +42
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

More in Gitlab

View all
CVE-2021-22205 CRITICAL POC
10.0 Apr 23

An issue has been discovered in GitLab CE/EE affecting all versions starting from 11.9. Rated critical severity (CVSS 10

CVE-2023-7028 CRITICAL POC
10.0 Jan 12

An issue has been discovered in GitLab CE/EE affecting all versions from 16.1 prior to 16.1.6, 16.2 prior to 16.2.9, 16.

CVE-2021-22175 CRITICAL POC
9.8 Jun 11

When requests to the internal network for webhooks are enabled, a server-side request forgery vulnerability in GitLab af

CVE-2026-85706 CRITICAL POC
10.0 Sep 12

Unauthenticated arbitrary file read in GitLab CE/EE lets remote attackers retrieve files from the GitLab server via the

CVE-2026-97229 CRITICAL POC
10.0 Oct 13

Remote code execution in GitLab CE/EE (all versions from 19.2 before 19.2.8, 19.3 before 19.3.5, and 19.4 before 19.4.2)

CVE-2013-4490 MEDIUM POC
6.5 May 13

The SSH key upload feature (lib/gitlab_keys.rb) in gitlab-shell before 1.7.3, as used in GitLab 5.0 before 5.4.1 and 6.x

CVE-2022-2992 CRITICAL POC
9.9 Oct 17

A vulnerability in GitLab CE/EE affecting all versions from 11.10 prior to 15.1.6, 15.2 to 15.2.4, 15.3 to 15.3.2 allows

CVE-2026-110264 CRITICAL POC
10.0 Oct 22

Remote code execution in GitLab CE/EE can be triggered by a specially crafted regular expression processed through a vul

CVE-2026-87719 CRITICAL POC
9.9 Sep 12

Sensitive credential and configuration disclosure in GitLab Enterprise Edition allows an authenticated user with Duo Cha

CVE-2018-18843 CRITICAL POC
10.0 Dec 04

The Kubernetes integration in GitLab Enterprise Edition 11.x before 11.2.8, 11.3.x before 11.3.9, and 11.4.x before 11.4

CVE-2026-72867 CRITICAL POC
9.9 Aug 10

Authenticated command injection in Dokploy (self-hostable PaaS) versions 0.29.3 through 0.29.12 lets a low-privileged us

CVE-2026-93577 CRITICAL POC
9.9 Sep 23

Authenticated code execution on the GitLab server is possible in GitLab CE/EE 19.2 through 19.4.0, where an integer over

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy