Skip to main content

GitLab CE/EE EUVDEUVD-2026-25040

| CVE-2026-4922 HIGH
Cross-Site Request Forgery (CSRF) (CWE-352)
2026-04-22 GitLab
8.1
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Recon
    Craft malicious webpage with hidden GraphQL mutation
  2. Delivery
    Deliver via phishing/watering hole to authenticated GitLab user
  3. Exploit
    Victim visits attacker site while logged into GitLab
  4. Install
    Browser auto-submits forged GraphQL request with session cookies
  5. C2
    GitLab accepts request without CSRF validation
  6. Execute
    Mutation executes with victim's privileges
  7. Impact
    Attacker gains repository access/modifies CI-CD configuration

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V3 - Web Frontend Security Anti-CSRF tokens, SameSite cookies
MITRE ATT&CK

1 technique across 1 tactic: Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires authenticated user (typically with elevated privileges like Maintainer or Owner) to visit attacker-controlled website while maintaining an active GitLab session. The victim must have browser cookies enabled and not be using CSRF-resistant browser configurations. Attack vector is network-based (AV:N) but necessitates user interaction (UI:R) for successful exploitation - specifically, the victim browsing to a malicious third-party domain. No special GitLab configuration or non-default features required; the vulnerability exists in default installations. Attack complexity is low (AC:L) as CSRF payloads are straightforward to construct once GraphQL mutation structure is known. Exploitation is limited by the need for social engineering (phishing links, watering hole attacks) to deliver the malicious page to authenticated users, and by browser Same-Origin Policy which the CSRF protection should enforce but fails to. The attack does not work against users with expired sessions, those accessing GitLab exclusively via API tokens (bypassing browser cookie flow), or in environments with properly configured SameSite cookie policies at the infrastructure level.

Impact

CVSS 8.1 (High) reflects network attack vector with no privileges required but mandatory user interaction (AV:N/AC:L/PR:N/UI:R), enabling high confidentiality and integrity impact without availability damage (C:H/I:H/A:N). CISA SSVC framework categorizes this as non-automatable with total technical impact but no confirmed exploitation, suggesting lower priority than the CVSS score implies. The publicly available HackerOne exploit (report 3627285) demonstrates feasibility but requires social engineering to lure authenticated GitLab users to attacker-controlled websites. EPSS data not provided in intelligence feed. Absence from CISA KEV indicates no widespread exploitation campaigns detected. Real-world risk depends heavily on organizational exposure: internet-facing GitLab instances with administrative users are higher risk, while air-gapped or internal-only deployments face reduced threat. The requirement for user interaction (browsing to malicious site while authenticated to GitLab) significantly constrains mass exploitation compared to pre-auth RCE vulnerabilities, but targeted attacks against GitLab administrators remain viable, potentially enabling repository manipulation, CI/CD pipeline poisoning, or secret exfiltration through GraphQL mutations.

Exploit ScenarioDerived

An attacker creates a malicious website containing hidden forms or JavaScript that issues GraphQL mutation requests to the victim's GitLab instance. When an authenticated GitLab administrator visits the attacker's site (via phishing email, compromised third-party site, or malicious advertisement), their browser automatically includes GitLab session cookies with the forged requests. The attacker's crafted mutations execute with the victim's privileges, potentially adding the attacker as a repository maintainer, modifying CI/CD pipeline configurations to inject malicious code, creating access tokens, or exfiltrating repository contents through GraphQL queries. The HackerOne report 3627285 provides working proof-of-concept code demonstrating the attack technique.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Apr 23, 2026

Cross-Site Request Forgery (CSRF) in GitLab CE/EE allows remote unauthenticated attackers to execute GraphQL mutations as authenticated victims through crafted web pages. Affects all versions from 17.0 through 18.11.0, with publicly available exploit code (HackerOne report 3627285). Despite high CVSS 8.1, exploitation requires user interaction (phishing/social engineering) and is not automatable per CISA SSVC framework. No evidence of active exploitation in CISA KEV at time of analysis. Vendor patches released: 18.9.6, 18.10.4, and 18.11.1.

RemediationAI

Immediately upgrade to patched versions: 18.9.6 (for 17.x-18.9 series), 18.10.4 (for 18.10 series), or 18.11.1 (for 18.11 series) per GitLab's advisory at https://about.gitlab.com/releases/2026/04/22/patch-release-gitlab-18-11-1-released/. If immediate patching is not feasible, implement interim controls: configure web application firewalls to enforce SameSite cookie attributes (SameSite=Strict or Lax) for GitLab session cookies, though this requires infrastructure changes and may break legitimate cross-origin workflows. Deploy Content Security Policy headers to restrict frame-ancestors and form-action directives, preventing GitLab pages from being embedded in attacker sites, but verify compatibility with existing integrations. Educate users to avoid clicking external links while authenticated to GitLab and to use separate browser profiles for administrative GitLab access versus general web browsing, recognizing this introduces operational friction. Network-level controls (IP allowlisting) do not mitigate CSRF as attacks originate from the victim's browser, not the attacker's infrastructure. Monitor GraphQL mutation logs for anomalous activity patterns, though this provides detection rather than prevention.

Affected VersionsENISA

GitLab 18.10 <18.10.4
GitLab 18.11 <18.11.1
GitLab 17.0 <18.9.6

Affected Packages

euvd gitlab fix: 18.9.6, 18.10.4, 18.11.1

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

This vulnerability stems from insufficient CSRF token validation in GitLab's GraphQL API endpoint (CWE-352). GraphQL mutations are state-changing operations that should require anti-CSRF protection when invoked from browser contexts. The affected cpe:2.3:a:gitlab:gitlab covers both Community Edition (CE) and Enterprise Edition (EE). CSRF attacks exploit the browser's automatic inclusion of authentication cookies with cross-origin requests. Without proper token validation, an attacker-controlled site can trigger authenticated GraphQL operations in the victim's browser session. The vulnerability exists in GitLab's web application layer where GraphQL mutation endpoints failed to validate CSRF tokens, allowing forged requests from malicious third-party sites to execute with the victim's authenticated session privileges.

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

NVD PRIMARY 8.1 HIGH
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N

Primary rating from NVD · only source for this CVE.

CVSS VectorNVD

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

Lifecycle Timeline

4
PoC Detected
Apr 23, 2026 - 20:40 vuln.today
Public exploit code
Patch released
Apr 23, 2026 - 20:40 nvd
Patch available
Patch available
Apr 22, 2026 - 17:33 EUVD
CVE Published
Apr 22, 2026 - 16:29 nvd
HIGH 8.1

DescriptionCVE.org

GitLab has remediated an issue in GitLab CE/EE affecting all versions from 17.0 before 18.9.6, 18.10 before 18.10.4, and 18.11 before 18.11.1 that could have allowed an unauthenticated user to execute GraphQL mutations on behalf of authenticated users due to insufficient CSRF protection.

Executive ViewAI

Why It Matters

GitLab CE/EE versions 17.0-18.11.0 contain a CSRF vulnerability (CVSS 8.1) enabling attackers to execute GraphQL mutations as authenticated users through malicious web pages, requiring user interaction via phishing or social engineering. Organizations using affected GitLab instances face risk of unauthorized data modification, credential compromise, and unauthorized repository access if users are socially engineered to visit attacker-controlled pages while logged into GitLab.

Business Impact: High
Compensating Controls

Apply vendor patch. If patching is delayed: implement network-level access controls restricting GitLab access to trusted networks only; deploy email filtering and user security awareness training to reduce phishing success rates; monitor GraphQL mutation logs for suspicious patterns; consider WAF rules blocking unexpected CSRF-vulnerable request patterns if the GitLab vendor provides mitigations pending patches.

Threat Intelligence Overview

EPSS Score
0.0%
Top 99% exploitable
Exploit
POC
Public exploit code exists
Social Media
4
Sightings
Data Quality
6 sources
Confidence: High

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.0%
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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

60
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +40
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.

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-97229 CRITICAL POC
10.0 Oct 13

Remote code execution in GitLab CE/EE (all versions from 19.2 before 19.2.8, 19.3 before 19.3.5, and 19.4 before 19.4.2)

CVE-2026-110264 CRITICAL POC
10.0 Oct 22

Remote code execution in GitLab CE/EE can be triggered by a specially crafted regular expression processed through a vul

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-72867 CRITICAL POC
9.9 Aug 10

Authenticated command injection in Dokploy (self-hostable PaaS) versions 0.29.3 through 0.29.12 lets a low-privileged us

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

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy