Skip to main content

GitLab CVE-2026-16627

| EUVDEUVD-2026-57392 CRITICAL
Cross-site Scripting (XSS) (CWE-79)
2026-08-12 GitLab GHSA-mjv5-423q-gjfg
9.0
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as developer-role user
  2. Delivery
    Store malicious HTML in CI job content
  3. Exploit
    Privileged user opens CI job modal
  4. Execution
    Unsanitized script executes in victim session
  5. Impact
    Escalate privileges / hijack account

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

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

Exploitation Conditions

Requires an authenticated account with developer-role permissions on a project the attacker can influence, plus a specific configuration/interaction: the malicious HTML must be rendered in GitLab's CI job modal and a higher-privileged victim must open that modal (UI:R), so exploitation is not automatable and cannot occur against a passive or non-interacting target. Limiting factors: attacker cannot be fully unauthenticated (PR:L developer role needed), the payload only pays off when a privileged user views the crafted CI job, and it is constrained to GitLab CE/EE versions 19.2 through 19.2.1 - instances with no untrusted developer-role users or that have upgraded to 19.2.2 are not exposed. The vendor notes it triggers only 'under certain conditions,' indicating the sanitization gap is reachable via a particular content path in the job modal rather than all CI output.

Impact

The signals are mixed and warrant prioritized-but-not-emergency handling. CVSS 9.0 (AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H) reflects network reachability, low complexity, and a scope-changing total impact, and SSVC rates Technical Impact as 'total' - consistent with full compromise of the victim's session. However, exploitation is meaningfully gated: it requires an authenticated attacker with developer-role permissions (PR:L) AND user interaction from a victim who opens the affected CI job modal (UI:R), which SSVC reflects as Automatable:no and Exploitation:none. EPSS is only 0.30%, aligning with the non-automatable, interaction-dependent nature rather than mass exploitation. Publicly available exploit code raises the practical risk, but this is not confirmed active exploitation and is not in CISA KEV. Net: a real priority for multi-tenant or lower-trust GitLab instances where untrusted developers exist, lower urgency for tightly controlled internal instances.

Exploit ScenarioDerived

An attacker with developer-role access to a shared GitLab project crafts a CI job (or job-related content) embedding a malicious HTML/JavaScript payload that is stored and later rendered unsanitized in the CI job modal. When a maintainer or admin opens that job's modal, the script executes in their authenticated session, letting the attacker perform privileged actions (e.g., escalating their own role or exfiltrating tokens). Public exploit code for this issue is available via HackerOne report #3880796, lowering the barrier to reproduction.

Act Now Prioritize within 24-48h. Why: CRITICAL severity + public POC available.
Patch available 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv2 – Aug 19, 2026

Stored cross-site scripting in GitLab CE/EE 19.2 before 19.2.2 lets an authenticated user holding only developer-role permissions inject unsanitized HTML that executes in the browser of a higher-privileged user who opens a CI job modal, enabling privilege escalation. Publicly available exploit code exists (HackerOne report #3880796), though EPSS is modest at 0.30% (22nd percentile) and CISA SSVC records no observed exploitation. The high CVSS 9.0 is driven by a scope change and total confidentiality/integrity/availability impact once the payload runs in a victim's session.

Earlier versions of this analysis (1)
v1 Aug 12, 2026 - 18:45 CVSS 7.7

Privilege escalation via stored XSS in GitLab CE/EE 19.2.x allows an authenticated developer-role user to inject unsanitized HTML into a CI job modal, potentially executing arbitrary JavaScript in the browser context of higher-privileged users who view that modal. The scope change in the CVSS vector (S:C) confirms cross-user impact - a developer can effectively act as a victim with elevated permissions. A publicly available exploit exists on HackerOne (report #3880796), and GitLab has released 19.2.2 as the remediated version. No CISA KEV listing at time of analysis.

RemediationAI

Vendor-released patch: upgrade GitLab CE/EE to 19.2.2 or later per the GitLab 19.2.2 patch release (https://docs.gitlab.com/releases/patches/patch-release-gitlab-19-2-2-released/); this is the primary and recommended fix. If immediate patching is not possible, reduce exposure by tightening who holds developer-role permissions on sensitive projects and by limiting untrusted contributors on multi-tenant instances, since the attack requires a developer-role account to plant the payload - the trade-off is reduced collaboration for lower-trust users. Because exploitation depends on a privileged user opening a CI job modal, advise reviewers/maintainers to be cautious viewing CI jobs from untrusted branches until patched; note this is procedural and unreliable as a sole control. GitLab.com is maintained by the vendor; self-managed operators should schedule the upgrade promptly given publicly available exploit code.

Affected VersionsENISA

GitLab 19.2 <19.2.2

Affected Packages

euvd gitlab fix: 19.2.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

GitLab is a self-hosted and SaaS DevOps platform whose CI/CD pipelines surface job metadata and logs through web UI components, including a CI job modal that renders HTML content. The root cause is CWE-79 (improper neutralization of input during web page generation), specifically stored XSS: attacker-controlled content that flows into the CI job modal is not properly sanitized before being rendered as active HTML/JavaScript in another user's browser. The single affected component per the CPE (cpe:2.3:a:gitlab:gitlab:*) is the GitLab application itself; the escalation arises because the malicious script executes in the DOM/session context of a privileged viewer, allowing actions to be performed with that victim's authority.

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 HIGH
NVD 9.0 CRITICAL
AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H
vuln.today AI 9.0 CRITICAL

Network-reachable stored XSS needs a developer-role account (PR:L) and a victim opening the modal (UI:R); script runs in the victim's browser context, changing scope (S:C) with full impact on the compromised session.

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

Primary rating from Vendor (GitLab).

CVSS VectorNVD

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

Lifecycle Timeline

4
Severity Changed
Aug 19, 2026 - 16:07 NVD
HIGH CRITICAL
CVSS changed
Aug 19, 2026 - 16:07 NVD
7.7 (HIGH) 9.0 (CRITICAL)
Patch available
Aug 12, 2026 - 19:02 EUVD
CVE Published
Aug 12, 2026 - 18:05 cve.org
HIGH 7.7

DescriptionNVD

GitLab has remediated an issue in GitLab CE/EE affecting all versions from 19.2 before 19.2.2 that under certain conditions could have allowed an authenticated user with developer-role permissions to escalate privileges due to improper sanitization of HTML content rendered in a CI job modal.

Executive ViewAI

Why It Matters

GitLab CE/EE versions 19.2.0-19.2.1 contain a privilege escalation vulnerability allowing authenticated developers to gain unauthorized administrative access through malicious payloads injected into CI job modals, directly threatening CI/CD pipeline integrity and enabling attackers to deploy malicious code to production infrastructure.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 78% exploitable
Prevalence
High
widely deployed enterprise DevOps platform across many organizations
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 CRITICAL
CISA KEV No
Public POC Yes
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity + public POC available
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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

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

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

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-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-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-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-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

CVE-2026-89078 CRITICAL POC
9.9 Sep 23

Authenticated users who can define or modify a CI/CD configuration can achieve remote code execution on GitLab CE/EE ser

CVE-2026-61560 CRITICAL POC
9.8 Sep 15

Unauthenticated path traversal in the @zereight/mcp-gitlab Model Context Protocol server prior to version 2.1.27 allows

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