CVE-2026-10712: GitLab XSS Vulnerability – Patch Now for 18.11, 19.0, 19.1
GitLab has patched a reflected cross-site scripting (XSS) vulnerability affecting recent versions of GitLab Community Edition and Enterprise Edition. An attacker could craft a malicious link that, when clicked by a victim, executes arbitrary JavaScript code within the user's browser session. The vulnerability stems from improper validation of URL paths under specific conditions. No authentication is required to exploit this flaw—only user interaction (clicking a link) is necessary. The issue affects GitLab versions 18.10 through 18.11.5, 19.0 through 19.0.2, and 19.1 before 19.1.1.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 8.0 HIGH · CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:N
- Weaknesses (CWE)
- CWE-79
- Affected products
- 2 configuration(s)
- Published / Modified
- 2026-06-25 / 2026-06-26
NVD description (verbatim)
GitLab has remediated an issue in GitLab CE/EE affecting all versions from 18.10 before 18.11.6, 19.0 before 19.0.3, and 19.1 before 19.1.1 that under certain conditions could have allowed an unauthenticated user to execute arbitrary JavaScript in a user's browser session due to improper path validation under certain conditions.
3 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
This is a CWE-79 (Improper Neutralization of Input During Web Page Generation) vulnerability classified as reflected XSS. The flaw occurs due to insufficient path validation logic that fails to properly sanitize or encode user-supplied input before rendering it in the browser context. The attack vector is network-based and requires user interaction (clicking a crafted link), as indicated by the CVSS vector (AV:N/AC:H/PR:N/UI:R). The high complexity score suggests the exploitation requires specific conditions—likely particular application states, parameter combinations, or request sequencing. The vulnerability impacts confidentiality and integrity (reading/modifying sensitive data), but not availability. The scope change indicates the impact extends beyond the vulnerable component to affect the security context of the entire user session.
Business impact
Successful exploitation could allow attackers to steal session tokens, redirect users to phishing sites, deface page content, or harvest credentials by injecting malicious scripts into the user's browser. For organizations running GitLab as their primary code repository and CI/CD system, a compromised user session could lead to unauthorized code access, pipeline manipulation, or deployment of malicious artifacts. The attack requires social engineering (phishing or malicious link distribution) but is low-cost to execute at scale. Reputational damage is possible if users are phished through GitLab-hosted resources.
Affected systems
GitLab Community Edition and Enterprise Edition are affected across three version ranges: 18.10.x through 18.11.5, 19.0.x through 19.0.2, and 19.1.x before 19.1.1. Self-hosted GitLab instances running these versions are at risk. GitLab.com users should already be protected if the service has been updated. Organizations on extended support timelines or delayed patching schedules remain exposed.
Exploitability
Exploitation is feasible but not trivial. The attacker must craft a specially formatted URL that bypasses path validation under specific application conditions, then socially engineer a user into clicking the link. The CVSS complexity score (H) reflects these prerequisites. No CVE Exploitation in the Wild (KEV) listing has been observed or announced as of the publication date. The vulnerability does not require authenticated access or special privileges, lowering the bar for attacker capability. Automated scanning tools may struggle to detect malicious links without context, making this a targeted rather than mass-exploitation risk in the near term.
Remediation
Upgrade GitLab to patched versions: 18.11.6 or later, 19.0.3 or later, or 19.1.1 or later. Administrators should verify the exact version number in their GitLab instance (Settings > About GitLab) and cross-reference against the vendor advisory to confirm patch availability for their release track. No workarounds or configuration changes can mitigate this flaw; patching is the only remediation.
Patch guidance
Prioritize upgrades for GitLab instances accessible to end-users or containing sensitive code repositories. Test patches in a non-production environment first, as major version updates may include breaking changes. GitLab's release notes and migration guides should be reviewed prior to deployment. Staged rollout is recommended for large multi-instance deployments. Verify patch application by confirming the version number post-upgrade and reviewing GitLab logs for any update-related errors.
Detection guidance
Monitor web application firewall (WAF) and proxy logs for requests containing unusual URL path structures or double-encoded characters, which may indicate XSS payload attempts. Track user session anomalies (logins from unusual locations/times, rapid API calls after a click event). Search web server logs for requests matching GitLab path patterns with embedded script tags or event handlers (e.g., 'onerror=', 'onclick='). Correlate with email/messaging logs to identify phishing campaigns distributing malicious GitLab links. Browser-side detection is challenging without endpoint detection tools, but user reports of unexpected page behavior should trigger investigation.
Why prioritize this
This vulnerability merits immediate remediation priority due to its HIGH CVSS score (8.0), network attack surface, and potential for session hijacking in a code repository context. While KEV status is not yet active, the simplicity of phishing-based delivery and the critical nature of GitLab to modern DevOps pipelines elevate business risk. The low authentication requirement and wide version range affected compound the urgency. Organizations should treat patching as critical, especially for internet-facing GitLab instances.
Risk score, explained
The CVSS 3.1 score of 8.0 (HIGH) reflects a network-exploitable XSS with user interaction, affecting the confidentiality and integrity of user sessions but not system availability. The 'H' in attack complexity acknowledges that specific conditions or application states are required, preventing a simple one-click mass-exploitation scenario. However, the combination of no authentication requirement, session-level impact, and scope change justifies the elevated score. Real-world risk is contextual: organizations with strict email filtering and user security awareness programs face lower practical risk than those without such controls.
Frequently asked questions
Can this vulnerability be exploited without the user clicking a link?
No. The CVSS vector explicitly includes 'UI:R' (User Interaction Required), meaning the attacker must trick the victim into clicking a malicious link. However, phishing, social media, or compromised third-party sites can be effective delivery mechanisms.
Does GitLab.com users need to take action?
GitLab.com (the SaaS offering) is typically kept up-to-date by GitLab Inc. and should have received patches automatically. Self-hosted GitLab instances are the responsibility of the organization and require manual patching.
What is the difference between the affected version ranges?
GitLab releases are maintained in parallel 'release trains.' Version 18.x is the current stable; 19.0 and 19.1 are newer major releases. Organizations should upgrade to the latest patch within their current release train or migrate to a newer supported version per GitLab's release schedule.
If we are behind a WAF or reverse proxy, are we still vulnerable?
Yes. A WAF can block some XSS payloads if properly configured, but the vulnerability exists in GitLab's application logic. A misconfigured or overly permissive WAF rule set will not prevent exploitation. Patching GitLab is the only reliable mitigation.
This analysis is based on publicly available information and the CVE record as of 2026-06-26. Security postures vary by organization; risk scores should be adapted to your specific deployment, user base, and threat model. For definitive patch availability and version compatibility, consult the official GitLab security advisory and release notes. SEC.co does not provide vendor-specific technical support; escalate deployment questions to GitLab Support or your internal DevOps team. Source: NVD (public-domain), retrieved 2026-08-02. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2026-10086HIGHGitLab EE XSS Vulnerability – High Risk Patch Available
- CVE-2026-10087HIGHGitLab EE Analytics Dashboard XSS Vulnerability – Patch Guide
- CVE-2026-8589HIGHGitLab EE Email Injection Vulnerability – Account Takeover Risk
- CVE-2016-20066HIGHWordPress CP Polls 1.0.8 Persistent XSS Vulnerability
- CVE-2016-20084HIGHWordPress Appointment-Booking-Calendar Unauthenticated XSS and Privilege Escalation
- CVE-2023-33999HIGHDOM-Based XSS in WP Mail Log Plugin – Analysis & Remediation
- CVE-2023-45795HIGHXSS in Pilz PASvisu Builder Component – Patch Guidance
- CVE-2023-45796HIGHStored XSS in Pilz PASvisu & PMI Industrial Software – Remediation Guide