CVE-2026-8589: GitLab EE Email Injection Vulnerability – Account Takeover Risk
GitLab Enterprise Edition contains a vulnerability that allows authenticated users with administrative privileges to inject unauthorized email addresses into other users' accounts. The flaw stems from insufficient input validation in group settings, where attacker-supplied data is not properly sanitized before being processed. This could enable account takeover, unauthorized access recovery through password resets, or privilege escalation if the injected email belongs to an attacker-controlled domain.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 7.3 HIGH · CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:C/C:H/I:H/A:N
- Weaknesses (CWE)
- CWE-79
- Affected products
- 2 configuration(s)
- Published / Modified
- 2026-06-11 / 2026-06-17
NVD description (verbatim)
GitLab has remediated an issue in GitLab EE affecting all versions from 13.1.4 before 18.10.8, 18.11 before 18.11.5, and 19.0 before 19.0.2 that under certain conditions could have allowed an authenticated user to add unauthorized email addresses to a targeted user's account due to improper sanitization of user-supplied input in certain group setting fields.
3 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
CVE-2026-8589 is a cross-site scripting (CWE-79) vulnerability in GitLab EE versions 13.1.4 through 18.10.7, 18.11.0 through 18.11.4, and 19.0.0 through 19.0.1. The vulnerability arises from improper input sanitization in specific group configuration fields. An authenticated user with high privilege level can submit malicious input that, when viewed by another user, executes in their browser context or is stored and processed unsafely. The CVSS 3.1 score of 7.3 (HIGH) reflects high impact to confidentiality and integrity, offset by the requirement for high privilege and user interaction (link clicking or form interaction).
Business impact
Compromise of user accounts represents a material security risk, particularly in GitLab environments managing source code, CI/CD pipelines, and infrastructure-as-code. An attacker exploiting this vulnerability could gain unauthorized read or modify access to repositories, inject malicious code into deployments, exfiltrate intellectual property, or disrupt development workflows. The requirement for authenticated access limits blast radius compared to unauthenticated exploits, but organizations should assume that accounts with administrative privileges could be compromised by insiders or through credential theft.
Affected systems
GitLab Enterprise Edition versions 13.1.4 and later up to (but not including) 18.10.8, versions 18.11.0 through 18.11.4, and versions 19.0.0 through 19.0.1 are affected. Community Edition and non-vulnerable versions prior to 13.1.4 are not impacted. Organizations running self-hosted GitLab EE installations should verify their specific version against this range.
Exploitability
Exploitation requires an authenticated attacker with high privilege (group owner or administrator role) and user interaction from the target (e.g., clicking a link or viewing a group settings page). The attack vector is network-based with no requirement for local access. While not trivial to execute, the requirement for high privilege and user interaction means this is not a wormable vulnerability; exploitation is targeted and measured. The absence of public exploit code and KEV listing suggest active in-the-wild exploitation is not confirmed at time of publication.
Remediation
Upgrade to GitLab EE version 18.10.8, 18.11.5, or 19.0.2 or later. Organizations unable to upgrade immediately should restrict group settings modification to trusted administrative accounts and monitor audit logs for suspicious group configuration changes, particularly modifications to email or member fields.
Patch guidance
Apply patches according to your GitLab version: those on 18.10.x should update to 18.10.8 or later; those on 18.11.x should update to 18.11.5 or later; those on 19.0.x should update to 19.0.2 or later. Verify patch application by confirming version number in the GitLab admin dashboard. Test patches in a non-production environment before rolling out to production instances, particularly if using GitLab Runner or tightly integrated CI/CD pipelines. No downtime is typically required for minor version updates, but review release notes for any database migration steps.
Detection guidance
Monitor GitLab audit logs for unauthorized email additions to user accounts, particularly in group settings or admin user management interfaces. Look for group settings modifications that change email fields or member lists, especially by high-privilege accounts. Implement alerting on suspicious group configuration changes. Review group members and email addresses regularly to identify any unauthorized additions. If using centralized logging, correlate GitLab audit events with browser-based XSS indicators such as unexpected script execution or cookie theft attempts.
Why prioritize this
This vulnerability merits prompt attention because it directly threatens user account integrity in a system managing source code and deployment automation. While it requires authenticated high-privilege access, insider threats and credential compromise are common attack vectors. The ability to inject email addresses could facilitate account takeover and downstream supply chain compromise. Prioritize patching based on your organization's access controls: if non-administrative users can modify group settings, elevation of this to critical priority is justified. If only senior administrators can modify these fields, risk is lower but patch timing should still be measured in weeks rather than months.
Risk score, explained
The CVSS 3.1 score of 7.3 (HIGH) reflects high impact to confidentiality (reading account data, repository contents) and integrity (injecting unauthorized access, modifying group membership), combined with network-based attack vector. The score is tempered by the requirement for high privilege level (administrator or group owner) and mandatory user interaction (user must click or view the malicious setting). The lack of availability impact (no denial of service) and the complexity of exploitation (attack must be carefully crafted to pass validation) prevent a critical rating. Organizations with strict access controls limiting privilege elevation may assess risk as lower; those with delegated administration should score higher.
Frequently asked questions
Can this vulnerability be exploited without authentication?
No. The vulnerability requires an authenticated user with high-level privileges (group owner or administrator). Unauthenticated attackers cannot exploit this directly. However, if an attacker obtains administrative credentials through phishing or credential compromise, they could then leverage this vulnerability to compromise other user accounts.
What happens if an unauthorized email is added to my account?
An attacker could use the injected email to reset your account password (if password reset flows use email verification), access account recovery options, or perform social engineering. They may also trigger two-factor authentication reset if the email is used as the backup method. Verify your account's email addresses immediately and contact your GitLab administrator if you see unauthorized entries.
Does this affect on-premises or cloud-hosted GitLab differently?
Both are affected equally if running vulnerable versions. The vulnerability is in the application code, not the deployment model. Self-hosted and GitLab.com-hosted instances are equally at risk. GitLab.com is likely patched; organizations running self-hosted EE must apply patches manually.
Are there workarounds if we cannot patch immediately?
Restrict group settings modifications to a small set of trusted administrators, disable API-based group member modifications if not required, and implement IP-based access controls or SSO enforcement to reduce account compromise risk. Monitor audit logs vigilantly. However, these are risk-reduction measures, not fixes; patching remains the definitive remediation.
This analysis is provided for informational purposes based on available CVE data as of June 2026. Organizations should verify patch applicability against their specific GitLab versions and configurations. This vulnerability does not appear on the CISA Known Exploited Vulnerabilities list; however, absence from KEV does not guarantee no exploitation. Consult GitLab's official security advisories and your vendor documentation for authoritative guidance. SEC.co and its authors disclaim liability for incomplete remediation or security decisions made based on this analysis. Source: NVD (public-domain), retrieved 2026-07-20. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2026-10087HIGHGitLab EE Analytics Dashboard XSS Vulnerability – Patch Guide
- 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-54351HIGHStored XSS in WordPress Sonaar Music Plugin 4.7 – Patch & Detection Guide
- CVE-2025-11262HIGHLink Whisper Free Stored XSS Vulnerability – Analysis & Patch Guidance
- CVE-2025-14773HIGHABB T-MAC Plus XSS Vulnerability – HIGH Risk Assessment
- CVE-2025-15654HIGHFox-themes Prague Reflected XSS Vulnerability – CVSS 7.1 (HIGH)