Skip to main content
Vulnerability Database/CVE-2026-92883

CVE-2026-92883: GitLab XSS Vulnerability

CVE-2026-92883 is a cross-site scripting flaw in GitLab CE/EE allowing authenticated attackers to execute arbitrary JavaScript in victim browser sessions. This article covers technical details, affected versions, and mitigation.

Published:

CVE-2026-92883 Overview

CVE-2026-92883 is a stored cross-site scripting (XSS) vulnerability [CWE-79] in GitLab Community Edition (CE) and Enterprise Edition (EE). The flaw stems from improper sanitization of HTML attributes in syntax-highlighted output. An authenticated attacker can craft a repository that triggers arbitrary JavaScript execution in another user's browser session when the content is rendered. The vulnerability affects GitLab versions 19.1 through 19.2.7, 19.3 through 19.3.4, and 19.4 through 19.4.1. GitLab resolved the issue in 19.2.8, 19.3.5, and 19.4.2.

Critical Impact

Authenticated attackers can hijack sessions, exfiltrate source code, and perform privileged actions on behalf of victim users across the GitLab tenant.

Affected Products

  • GitLab Community Edition (CE) versions 19.1 through 19.2.7
  • GitLab Enterprise Edition (EE) versions 19.3 through 19.3.4
  • GitLab CE/EE versions 19.4 through 19.4.1

Discovery Timeline

  • 2026-10-13 - CVE-2026-92883 published to the National Vulnerability Database (NVD)
  • 2026-10-14 - Last updated in NVD database

Technical Details for CVE-2026-92883

Vulnerability Analysis

The vulnerability resides in GitLab's syntax highlighting pipeline, which transforms source code in repositories into rendered HTML for display in the web interface. GitLab fails to properly sanitize HTML attributes within this output. An attacker who controls repository content can inject payloads that persist in the generated markup. When another user views the file, the payload executes in that user's browser context.

The scope-changed CVSS vector indicates that exploitation crosses a trust boundary. JavaScript executing in a victim's browser session inherits the privileges of that session. For a maintainer or administrator, this includes repository access, merge rights, and in some cases administrative API operations against the GitLab instance.

Root Cause

The root cause is improper neutralization of input during web page generation [CWE-79]. Specifically, HTML attributes in the syntax-highlighted output path are not escaped before being inserted into the DOM. This allows attacker-controlled content inside a repository file to break out of its intended attribute context and introduce executable script.

Attack Vector

Exploitation requires an authenticated account on the target GitLab instance and user interaction from the victim. The attacker pushes a specially crafted file to a repository the victim can access. When the victim opens the file in the GitLab UI, the browser parses the malicious attributes and executes the embedded script. See the GitLab Patch Release 19.4.2 advisory, GitLab Work Item #629523, and HackerOne Report #3936831 for additional technical context.

Detection Methods for CVE-2026-92883

Indicators of Compromise

  • Repository files containing unexpected HTML event handler attributes (onerror, onload, onmouseover) embedded in code or markup intended for syntax highlighting
  • Outbound requests from GitLab user browser sessions to unfamiliar domains shortly after viewing a repository file
  • Unexpected GitLab personal access token creation, SSH key additions, or repository forks performed by legitimate user accounts

Detection Strategies

  • Inspect repository commits for files containing script tags, javascript URIs, or attribute-breakout sequences in languages that do not normally require them
  • Correlate GitLab audit log entries for sensitive account changes with recent file views in attacker-controlled repositories
  • Monitor browser Content Security Policy (CSP) violation reports from GitLab origins for inline script execution attempts

Monitoring Recommendations

  • Enable and centralize GitLab audit events, API logs, and web request logs to a SIEM for correlation
  • Alert on new project creation followed by rapid invitations to privileged users
  • Baseline normal GitLab API call patterns per user and alert on deviations such as mass repository cloning or token enumeration

How to Mitigate CVE-2026-92883

Immediate Actions Required

  • Upgrade GitLab CE/EE to version 19.2.8, 19.3.5, or 19.4.2 depending on the current branch in use
  • Review audit logs for suspicious actions performed by maintainer and administrator accounts since the vulnerable versions were deployed
  • Rotate GitLab personal access tokens, SSH keys, and OAuth application secrets if compromise is suspected

Patch Information

GitLab released fixes in versions 19.2.8, 19.3.5, and 19.4.2. Patch details are documented in the GitLab Patch Release 19.4.2 announcement. Self-managed instances should apply the upgrade through standard package channels. GitLab.com users are already on patched versions.

Workarounds

  • No vendor-supplied workaround is available; upgrading is the required remediation
  • Restrict repository creation and push access to trusted users until patching is complete
  • Enforce a strict Content Security Policy at the reverse proxy to limit inline script execution against the GitLab origin
bash
# Verify installed GitLab version and upgrade on Debian/Ubuntu
sudo gitlab-rake gitlab:env:info | grep "GitLab information" -A 5
sudo apt-get update && sudo apt-get install gitlab-ee=19.4.2-ee.0
sudo gitlab-ctl reconfigure && sudo gitlab-ctl restart

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.