Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privileged GitLab user
-
DeliveryConfigure scheduled pipeline execution policy
-
ExploitTransfer project to higher-privileged group
-
ExecutionStale policy record survives cleanup
-
PersistScheduled pipeline runs with new group privileges
-
ImpactExecute arbitrary CI/CD jobs
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 an authenticated GitLab EE user (PR:L) with the ability to transfer a project that has a configured scheduled pipeline execution policy into a new group; the flaw is the improper cleanup of those scheduled pipeline execution policy records during the transfer, leaving stale schedules that execute with the destination group's privileges. Limiting factors: only GitLab EE (not CE) editions in the specified version ranges are affected, the project must have had a scheduled pipeline execution policy, the transfer/scheduling 'certain conditions' must align (reflected as AC:H), and user interaction is required (UI:R). These prerequisites mean an attacker cannot trigger it remotely without a valid account and the specific project-transfer workflow, so it is not exploitable against a default, untouched configuration. |
| Impact | Signals point to a moderate, conditional privilege-escalation risk rather than a mass-exploitation emergency. The CVSS 7.7 (High) vector CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:N shows network reach but three meaningful brakes: high attack complexity (AC:H, the 'under certain conditions' language), required privileges (PR:L, an authenticated user), and required user interaction (UI:R). The scope change (S:C) and C:H/I:H are what push the score up, reflecting that pipelines run with the new group's elevated privileges. A HackerOne report (#3925062) is cited as an exploit reference, so publicly available exploit code exists; however, there is no CISA KEV listing and no EPSS value was supplied in the input, so there is no evidence of active or widespread exploitation. NOTE: EPSS score is MISSING from the input and cannot be weighed. The practical priority is driven by the combination of a public PoC and the sensitive CI/CD impact in enterprise GitLab, tempered by the authentication, interaction, and specific-condition requirements that make opportunistic mass exploitation unlikely. The 'Authentication Bypass' tag conflicts with CWE-863 (Incorrect Authorization) and the description, which describe an authorization/privilege flaw in authenticated users, not an authentication bypass - treat the tag with caution. |
| Exploit ScenarioDerived | An authenticated GitLab user who can transfer a project that has a scheduled pipeline execution policy moves it into a different group; due to improper cleanup of the scheduled policy records, the stale schedule continues to fire and runs CI/CD pipelines with the new group's elevated privileges, giving the attacker code execution in that group's context. Public exploit material is referenced via a HackerOne report, and the high attack complexity (AC:H) plus required user interaction (UI:R) mean the specific transfer/scheduling conditions must line up for success. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 13, 2026
Improper cleanup of scheduled pipeline execution policy records in GitLab Enterprise Edition lets an authenticated user execute arbitrary CI/CD pipelines in a transferred project using the destination group's privileges. Affected releases are all EE versions from 18.1 before 19.2.8, 19.3 before 19.3.5, and 19.4 before 19.4.2. Exploitation is conditional - the attacker needs a valid account, a project that has a configured scheduled pipeline execution policy, the project-transfer workflow, and user interaction (CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:N, 7.7) - but publicly available exploit code exists per the referenced HackerOne report, and no CISA KEV entry has been recorded, so this is a moderate, conditional privilege-escalation risk rather than a mass-exploitation emergency.
RemediationAI
Upgrade to a fixed release: GitLab EE 19.2.8 or later on the 19.2 line, 19.3.5 or later on the 19.3 line, or 19.4.2 or later on the 19.4 line (vendor-released patch: 19.2.8, 19.3.5, 19.4.2), following https://docs.gitlab.com/releases/patches/patch-release-gitlab-19-4-2-released/. Where immediate upgrade is not possible, compensate by tightening the conditions the exploit depends on: restrict the ability to transfer projects between groups to a small set of trusted Owners or instance administrators, since the attack requires the transfer workflow and user interaction - the trade-off is added friction for legitimate group reorganizations. Audit and remove scheduled pipeline execution policies from projects before they are transferred, and after any transfer re-inspect the destination group's schedules, pipeline execution policies, CI/CD variables, runners, and protected-branch settings for stale or unexpected entries; deletion of stale schedules removes the attacker's execution path but permanently loses the policy configuration if it is later needed. Review destination group membership and CI/CD token scopes for any pipelines that executed unexpectedly, and rotate CI/CD variables or deploy tokens that a stale schedule could have consumed. Note that the referenced HackerOne report indicates publicly available exploit code exists, so treat unpatched EE instances in the affected ranges as exposed, and validate that EE is actually in use before spending effort, since CE is not implicated.
Affected VersionsENISA
Affected Packages
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
GitLab EE's security policies framework supports scheduled pipeline execution policies, which bind a schedule to a policy so that pipelines run automatically on behalf of a group with that group's privileges and CI/CD context. The root cause is tracked as CWE-863 (Incorrect Authorization): when a project is transferred between groups, the associated scheduled pipeline execution policy records are not correctly cleaned up or rebound, leaving stale schedule records that are subsequently evaluated under the destination group's authorization context. The CVSS scope-change metric (S:C) reflects that the vulnerable project-transfer component ends up affecting resources outside its original security scope - specifically the destination group's pipelines, variables, runners, and protected-branch permissions - which is why confidentiality and integrity are rated High while availability is not impacted. This is specific to the Enterprise Edition feature set; Community Edition does not implement pipeline execution policies in the same way. Exact affected codebase is captured by the generic CPE cpe:2.3:a:gitlab:gitlab:*:*:*:*:*:*:*:*, which does not encode edition or version, so the authoritative version boundaries come from GitLab's patch-release advisory (18.1 through the fixed 19.2.8 / 19.3.5 / 19.4.2 lines).
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
AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:N
Authenticated user action over the web (AV:N, PR:L, UI:R), dependent on specific transfer/scheduling conditions (AC:H), with pipelines gaining another group's privileges (S:C, C:H/I:H, A:N).
Primary rating from Vendor (GitLab).
CVSS VectorVendor: GitLab
Lifecycle Timeline
2DescriptionCVE.org
GitLab has remediated an issue in GitLab EE affecting all versions from 18.1 before 19.2.8, 19.3 before 19.3.5, and 19.4 before 19.4.2 that, under certain conditions, could have allowed an authenticated user to execute arbitrary CI/CD pipelines in a transferred project with the new group's privileges due to improper cleanup of scheduled pipeline execution policy records.
Executive ViewAI
GitLab Enterprise Edition contains a high-severity privilege-escalation flaw (CVE-2026-81839) that allows an authenticated user to run arbitrary CI/CD pipelines inside a transferred project using the destination group's privileges, potentially exposing source code, pipeline secrets, and deployment credentials under another team's authority. Exploitation is conditional - it requires a valid account, a project with a configured scheduled pipeline execution policy, use of the project-transfer workflow, and user interaction - but publicly available exploit code exists and no vendor-released patch has been identified, so organizations cannot rely on patching alone as their control. Leadership should care because CI/CD pipelines are the trusted path to production, and abuse of that path carries release-integrity and supply-chain consequences that extend well beyond the vulnerable GitLab instance.
No vendor-released patch identified at time of analysis. Interim mitigations: restrict or disable the project-transfer workflow so only instance administrators can perform transfers; remove or disable scheduled pipeline execution policies that are not strictly required; review and clean up policy records on any project that has been transferred to a new group; reduce the number of accounts with Developer or higher privileges and treat project transfers as a privileged change requiring approval; monitor GitLab audit logs and CI/CD job logs for pipelines created outside expected schedules or attributed to unexpected destination groups; and rotate CI/CD variables, runner tokens, and deploy keys held by groups involved in recent transfers.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Related Vulnerabilities in GitLab CE/EE Authorization and Access Control Flaws
View all 24An issue has been discovered in GitLab CE/EE affecting all versions starting from 11.9. Rated critical severity (CVSS 10
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.
When requests to the internal network for webhooks are enabled, a server-side request forgery vulnerability in GitLab af
Unauthenticated arbitrary file read in GitLab CE/EE lets remote attackers retrieve files from the GitLab server via the
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
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
Sensitive credential and configuration disclosure in GitLab Enterprise Edition allows an authenticated user with Duo Cha
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
Authenticated code execution on the GitLab server is possible in GitLab CE/EE 19.2 through 19.4.0, where an integer over
Authenticated users who can define or modify a CI/CD configuration can achieve remote code execution on GitLab CE/EE ser
Unauthenticated path traversal in the @zereight/mcp-gitlab Model Context Protocol server prior to version 2.1.27 allows
EUVD-2026-98220
GHSA-2qxc-8mjg-7g2x
NVD
CVE.org
EPSS
Exploit-DB