Skip to main content

GitLab EUVDEUVD-2026-98215

| CVE-2026-92883 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-10-13 GitLab GHSA-ggg2-vpmq-m78f
8.7
CVSS 3.1 · Vendor: GitLab
View

Attack ChainAIDerived

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

  1. Access
    Authenticate with low-privileged GitLab account
  2. Delivery
    Create repo with crafted file content
  3. Exploit
    Bypass HTML attribute sanitization in syntax highlighter
  4. Execution
    Victim views file in web UI
  5. Persist
    JavaScript executes in victim session
  6. Impact
    Hijack session / act as victim

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

Exploitation requires an authenticated GitLab CE/EE user (PR:L) who can create or control a repository, and a victim user who must view the attacker-controlled, syntax-highlighted file in the GitLab web UI (UI:R) - the XSS triggers through improper sanitization of HTML attributes in syntax-highlighted output. The description notes it applies only 'under certain conditions,' indicating the flaw is not universally triggerable across all content; the exact conditions are not detailed in the available data. Limiting factors: an attacker needs a valid account and repository write/creation ability, and no impact occurs without a second user rendering the malicious content, so pure drive-by or unauthenticated exploitation is not possible. Affected deployments are GitLab CE/EE 19.1-19.2.7, 19.3-19.3.4, and 19.4-19.4.1.

Impact

This is a credible, actionable priority rather than a CVSS-inflated non-issue. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N, 8.7) describes a network-reachable, low-complexity stored cross-site scripting flaw (CWE-79) requiring only a low-privileged authenticated account plus victim interaction, with a scope change reflecting that the attacker's JavaScript executes in OTHER users' browser sessions - the defining risk of stored XSS in a collaborative platform. POC status is confirmed publicly available (HackerOne report #3936831), which materially raises near-term exploitation likelihood, though POC availability is NOT the same as active exploitation. No CISA KEV listing and no EPSS score were provided in the input, so there is no signal of confirmed in-the-wild exploitation or a quantified exploitation probability; the absence of these is a data gap, not evidence of low risk. SSVC-style reasoning: exploitation is PROOF-OF-CONCEPT, technical impact is partial-to-total (code execution in victim sessions can lead to account/session compromise), but the attack is NOT automatable in the usual sense because it depends on a target user viewing the malicious repository. Net: a high-value, self-hostable developer platform plus a published POC and low privilege barrier justifies prompt patching, tempered by the required user interaction and need for an authenticated foothold.

Exploit ScenarioDerived

An attacker with a low-privileged GitLab account crafts a repository whose file content abuses improperly sanitized HTML attributes in GitLab's syntax-highlighted code rendering. When another user (e.g., a reviewer or maintainer) views that file in the GitLab web UI, the injected JavaScript executes in their authenticated browser session, enabling session/token theft or actions on their behalf. A public proof-of-concept exists (HackerOne #3936831), lowering the effort to reproduce.

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 – Oct 13, 2026

Stored cross-site scripting in GitLab CE/EE (affected ranges 19.1 through 19.2.7, 19.3 through 19.3.4, and 19.4 through 19.4.1) lets an authenticated user with repository write access embed a crafted file whose syntax-highlighted output is rendered with unsanitized HTML attributes, executing arbitrary JavaScript in the browser session of any other user who views it. The CVSS vector CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N reflects that the attacker must be authenticated (PR:L) and that a second user must render the malicious content (UI:R), but that successful execution crosses a trust boundary (S:C) with high confidentiality and integrity impact, including potential theft of session tokens or actions taken as the victim. Exploitation requires publicly available exploit code exists, with a HackerOne report and the upstream work item publicly linked; CISA KEV status was not indicated in the supplied intelligence, so this should be treated as a high-priority authenticated stored XSS rather than a confirmed actively exploited campaign. The affected surface is bounded by the requirement for repository control plus a victim viewing the highlighted file, so unauthenticated or pure drive-by exploitation is not possible.

RemediationAI

Upgrade to a fixed release: GitLab CE/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, as documented in the vendor patch release note at https://docs.gitlab.com/releases/patches/patch-release-gitlab-19-4-2-released/ (engineering record: https://gitlab.com/gitlab-org/gitlab/-/work_items/629523). Vendor-released patch: 19.2.8, 19.3.5, and 19.4.2. Because exploitation requires an authenticated user with repository write or creation rights plus a victim who renders the syntax-highlighted file, interim compensating controls are viable but each has trade-offs: enforce a strict Content-Security-Policy that disallows inline script and restricts script-src to first-party origins, which can break legitimate GitLab UI features or embedded content and requires testing before broad rollout; temporarily restrict project creation and push rights to a vetted set of users or groups, which reduces the pool of potential attackers but constrains normal developer workflows; review or quarantine untrusted repositories whose files are rendered with highlighting, accepting the operational overhead of manual triage; and rotate sessions, tokens, and personal access tokens for users who may have viewed attacker-controlled highlighted content, since a successful XSS executes in the victim's session context with high confidentiality and integrity impact. Do not rely on the wildcard CPE or on generic defense-in-depth guidance in place of applying the fixed versions. Note that publicly available exploit code exists for this issue, so prioritize patching externally reachable and internet-exposed GitLab instances ahead of fully isolated internal deployments.

Affected VersionsENISA

GitLab 19.4 <19.4.2
GitLab 19.1 <19.2.8
GitLab 19.3 <19.3.5

Affected Packages

euvd gitlab fix: 19.2.8, 19.3.5, 19.4.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 is a CWE-79 improper neutralization of input during web page generation (cross-site scripting) localized to GitLab's syntax-highlighting rendering path. GitLab renders repository file contents through highlighting libraries and emits HTML markup for tokens and attributes; the advisory states the root cause is improper sanitization of HTML attributes in that syntax-highlighted output, meaning attacker-controlled text in a repository file can break out of the intended attribute context and inject markup or event handlers that the victim's browser executes. The CVSS 3.1 vector CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N shows network reachability with low attack complexity, required authenticated privileges, required user interaction, and a scope change - consistent with an XSS that executes with the origin privileges of a different user than the attacker. The CPE metadata cpe:2.3:a:gitlab:gitlab:*:*:*:*:*:*:*:* is a wildcard CPE covering GitLab products generically rather than pinning a build, so version scoping must come from the advisory text: 19.1 before 19.2.8, 19.3 before 19.3.5, and 19.4 before 19.4.2. Impact is limited to confidentiality and integrity (C:H/I:H) with no availability effect (A:N), which matches script execution in another user's session rather than denial of service. The upstream references - the GitLab work item 629523, the HackerOne report 3936831, and the 19.4.2 patch release note - tie the defect to the repository browsing/highlighting feature and confirm the fix shipped in the 19.4.2 patch release train.

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

Authenticated low-priv user can inject (PR:L) but needs a victim to view the content (UI:R); JS runs in another user's session so scope changes (S:C) with high confidentiality/integrity impact and no availability impact.

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

Primary rating from Vendor (GitLab).

CVSS VectorVendor: GitLab

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

Lifecycle Timeline

2
Patch available
Oct 13, 2026 - 03:16 EUVD
CVE Published
Oct 13, 2026 - 01:05 cve.org
HIGH 8.7

DescriptionCVE.org

GitLab has remediated an issue in GitLab CE/EE affecting all versions from 19.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 JavaScript in the context of other users' browser sessions via a specially crafted repository, due to improper sanitization of HTML attributes in syntax-highlighted output.

Executive ViewAI

Why It Matters

GitLab CE/EE deployments running the affected 19.1, 19.3, or 19.4 release ranges carry a stored cross-site scripting flaw that lets any user with repository write access plant crafted content which executes in the browsers of colleagues who later view it. Because the payload persists in the repository and runs for every viewer, a single malicious or compromised committer can reach a wide set of internal users, including privileged accounts, and potentially capture session tokens or act as those victims. With no vendor patch currently available, leadership should treat this as an organization-wide risk to the GitLab platform that hosts and governs source code.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: restrict repository write access to vetted committers, audit and remove suspicious files with embedded HTML or script content, shorten user session lifetimes, enforce content security policy and secure cookie flags for the GitLab domain, and monitor repository activity for anomalies while tracking the vendor advisory for an eventual fix.

Threat Intelligence Overview

EPSS Score
0.3%
Top 82% exploitable
Prevalence
High
widely deployed enterprise DevOps platform, self-hosted and cloud, across many organizations
Exploit
POC
Public exploit code exists
Social Media
6
Sightings
Data Quality
4 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

64
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
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-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