Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege GitLab user
-
DeliveryInject JavaScript payload into analytics dashboard table cell field
-
ExploitWait for privileged victim to open affected dashboard
-
ExecutionPayload executes in victim's browser
-
PersistExfiltrate session token or PAT to attacker server
-
ImpactAuthenticate as victim and escalate access
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 | The attacker must hold a valid GitLab account with at least low-level project access (PR:L) sufficient to write content that is later rendered in the analytics dashboard table cell context - the specific field or input vector is not detailed in available data beyond 'user-controlled values rendered in table cell content by an analytics dashboard component.' The victim must actively navigate to and view the affected analytics dashboard (UI:R), meaning passive background processes are not sufficient to trigger execution. Exploitation is limited to GitLab CE/EE versions 18.2.x through 19.0.5, 19.1.x through 19.1.3, and 19.2.x through 19.2.1; instances on GitLab.com are managed by GitLab and patched independently. Instances that do not use the analytics dashboard feature or restrict dashboard access to a narrow user population have significantly reduced real-world exposure despite the CVSS score. |
| Impact | The CVSS 8.7 score reflects genuine high risk: the network attack vector (AV:N) and low complexity (AC:L) mean the attack is straightforward once the attacker has any authenticated foothold. The scope change (S:C) with C:H and I:H is the critical driver - victims' full browser sessions are compromised, not just the attacker's own context. The requirement for low-privilege authentication (PR:L) narrows the attack surface compared to unauthenticated XSS, but on GitLab instances that allow open registration or have many users, this bar is easily cleared. UI:R (victim must view the dashboard) is a real limiting factor and explains why this is not in CISA KEV despite a public POC - exploitation is contingent on a victim navigating to the affected analytics view. EPSS data is not provided; however, the combination of public POC, scope change, and GitLab's wide enterprise deployment suggests prioritizing patching, especially for internet-exposed instances or those with untrusted user registration enabled. |
| Exploit ScenarioDerived | An attacker with a low-privilege GitLab account (e.g., Reporter or Developer role) crafts a malicious payload targeting a field rendered as table cell content in the analytics dashboard - such as a project label, metric name, or custom value - embedding a JavaScript payload that exfiltrates the victim's session cookie or GitLab personal access token. When a project maintainer or administrator opens the analytics dashboard, their browser executes the payload and silently transmits their credentials to an attacker-controlled endpoint. A public proof-of-concept is available via HackerOne report #3830478, lowering the technical bar for exploitation. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 12, 2026
Stored cross-site scripting in GitLab CE/EE's analytics dashboard component allows an authenticated low-privilege user to inject malicious JavaScript into table cell content that executes in the browsers of other users who view the affected dashboard. The scope change (S:C in CVSS) confirms the impact crosses security boundaries, enabling session hijacking, credential theft, or unauthorized API actions on behalf of victims including administrators. A publicly available proof-of-concept exploit exists via HackerOne report #3830478; no confirmed active exploitation in CISA KEV at time of analysis.
RemediationAI
Upgrade to one of the fixed releases: GitLab 19.0.6, 19.1.4, or 19.2.2, per the vendor patch release advisory at https://docs.gitlab.com/releases/patches/patch-release-gitlab-19-2-2-released/. Organizations unable to patch immediately should consider restricting access to the analytics dashboard component via GitLab's feature flag or role-based access controls to limit who can both write to dashboard-rendered fields and who can view them - this reduces both the injection surface and the victim pool. Disabling open user registration on internet-facing instances raises the bar for the PR:L authentication requirement, meaningfully limiting attacker access. Note that restricting dashboard visibility to administrator-only roles has the trade-off of disrupting legitimate reporting workflows. GitLab.com (SaaS) is managed by GitLab and patched separately from self-managed deployments.
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
CWE-79 (Improper Neutralization of Input During Web Page Generation - Cross-site Scripting) describes the root cause: user-controlled values inserted into the analytics dashboard's table cell rendering path are not properly sanitized or encoded before output. The analytics dashboard component in GitLab CE/EE fails to apply context-aware output encoding to dynamically rendered table cell content, allowing raw HTML/JavaScript to be interpreted by victim browsers. The affected codebase is identified via CPE cpe:2.3:a:gitlab:gitlab:*:*:*:*:*:*:*:* spanning both Community Edition and Enterprise Edition deployments. This is a persistent or DOM-based XSS pattern in a collaborative DevOps platform where dashboards are routinely viewed by high-privilege users such as project maintainers and administrators, significantly amplifying the blast radius.
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:L/PR:L/UI:R/S:C/C:H/I:H/A:N
Network-delivered XSS requiring low-privilege auth (PR:L) and victim interaction (UI:R); scope change (S:C) reflects cross-user session compromise with no availability impact from script injection.
Primary rating from Vendor (GitLab).
CVSS VectorVendor: GitLab
Lifecycle Timeline
2DescriptionCVE.org
GitLab has remediated an issue in GitLab CE/EE affecting all versions from 18.2 before 19.0.6, 19.1 before 19.1.4, and 19.2 before 19.2.2 that under certain conditions could have allowed cross-site scripting due to improper neutralization of user-controlled values rendered in table cell content by an analytics dashboard component.
Articles & Coverage 2
Executive ViewAI
GitLab Community and Enterprise Edition's analytics dashboard contains a stored cross-site scripting vulnerability where publicly available exploit code exists, allowing authenticated users to inject malicious code that executes when administrators and other users view affected dashboards. Exploitation enables attackers to hijack administrator sessions, steal credentials, and perform unauthorized actions with elevated privileges. Any organization operating GitLab CE/EE with multi-user analytics dashboards faces direct risk of administrative account compromise and privilege escalation.
Restrict analytics dashboard access to high-privilege users only via role-based access controls and network segmentation; implement Web Application Firewall rules to detect and block JavaScript injection attempts; enforce multi-factor authentication on all administrative accounts to prevent unauthorized use of hijacked sessions; continuously monitor authentication logs and API access for anomalous activity; review and revoke API tokens for users with dashboard access history.
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
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
An 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
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)
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-57438
GHSA-qqh6-p6j8-qj74
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB