ZeroHour

CVE-2026-19650

large

CSRF Flaw in GitLab CE/EE GraphQL Lets GET Requests Execute Mutations

CVSS 3.1
7.1 high
EPSS
<1%p39
Published
()
Modified
AI analysis

GitLab CE/EE contains an improper request-validation flaw (CWE-352, CSRF) in GraphQL multiplex query handling that, under certain conditions, allowed mutations to be executed via GET requests, which should normally only carry queries. An unauthenticated attacker can exploit this by inducing GET requests against a vulnerable instance's GraphQL endpoint; the CVSS user-interaction requirement indicates a logged-in user's browser is typically the vehicle, and no credentials or privileges are needed by the attacker. Successful exploitation carries no confidentiality impact but a high integrity impact and low availability impact (CVSS 7.1), meaning attackers could modify data and potentially delete resources such as project content. All self-managed GitLab CE/EE deployments running affected trains (18.2 through 18.11.10, 19.0 through 19.0.7, 19.1 through 19.1.5, or 19.2 through 19.2.3) are exposed; related coverage notes GitLab's same patch release also fixed a companion critical GraphQL flaw (CVE-2026-19478) letting attackers modify or delete public projects. There is no known in-the-wild exploitation, public proof-of-concept, or KEV listing, and EPSS assigns only a 0.5% probability of exploitation within 30 days.

What to do: Upgrade self-managed GitLab CE/EE to 18.11.11, 19.0.8, 19.1.6, or 19.2.4, matching your current train (18.2+, 19.0, 19.1, or 19.2); patch promptly because the same release also fixed a related critical unauthenticated GraphQL flaw that could let attackers modify or delete public projects. Until patched, review audit logs for unexpected project modifications or deletions initiated via GraphQL, since the GET-driven, CSRF-style vector may have left changes attributed to legitimate logged-in users. GitLab.com SaaS is operated and patched by the vendor, so remediation priority falls on self-managed instances.

Affected
GitLab CE/EE (Community Edition and Enterprise Edition)all versions from 18.2 before 18.11.11; 19.0 before 19.0.8; 19.1 before 19.1.6; 19.2 before 19.2.4
Estimated exposure
largetens of thousands of internet-exposed self-managed instances (public scans show roughly 50,000+ publicly reachable GitLab servers) — Internet-wide scans have long shown tens of thousands of publicly reachable self-managed GitLab servers, and the self-managed installed base is substantially larger, placing realistic exposed targets in the 10k-100k system band; total user…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

GitLab has remediated an issue in GitLab CE/EE affecting all versions from 18.2 before 18.11.11, 19.0 before 19.0.8, 19.1 before 19.1.6, and 19.2 before 19.2.4 that under certain conditions could have allowed an unauthenticated user to execute mutations via GET requests due to improper request validation in GraphQL multiplex query handling.

Vendors
gitlab
Products
gitlab
Weakness
CWE-352
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:L

In the news

Critical GitLab flaw allows attackers to modify or delete public projects (CVE-2026-19478)

GitLab patched a critical unauthenticated code injection flaw CVE-2026-19478 (CVSS 9.4) enabling modification or deletion of public projects; upgrades urged.

GitLab released patches for two vulnerabilities affecting Community Edition (CE) and Enterprise Edition (EE) versions 18.2 before 18.11.11, 19.0 before 19.0.8, 19.1 before 19.1.6, and 19.2 before 19.2.4. CVE-2026-19478 (CVSS 9.4) is an unauthenticated code injection via a GraphQL directive, exploitable remotely without user interaction, allowing attackers to modify or delete public projects and user data. CVE-2026-19650 (CVSS 7.1) is a cross-site request forgery issue in the GraphQL multiplex query handler allowing mutations via GET requests with user interaction. Fixes are available in 18.11.11, 19.0.8, 19.1.6, and 19.2.4; both flaws were reported via GitLab's HackerOne bug bounty program.

GitLab Patches Critical Unauthenticated GraphQL Vulnerability

GitLab issued an emergency patch for a critical unauthenticated GraphQL flaw (CVE-2026-19478, CVSS 9.4) enabling remote modification or deletion of public projects.

GitLab patched CVE-2026-19478 (CVSS 9.4), an unauthenticated GraphQL directive flaw allowing remote modification or deletion of public projects and user data on self-managed servers. The emergency patch released August 17 covers versions 19.2.4, 19.1.6, 19.0.8, and 18.11.11, but no fixes exist for the 18.2-18.10 branches. A second issue, a CSRF weakness in GraphQL multiplex queries (CVE-2026-19650, CVSS 7.1), shipped in the same release. No exploitation or public PoC has been observed; the flaw was reported by hiimguardian through HackerOne.

Critical GitLab GraphQL Flaw Could Let Unauthenticated Attackers Delete Public Projects

GitLab urgently patched CVE-2026-19478 (CVSS 9.4), a critical unauthenticated GraphQL flaw allowing modification or deletion of public projects on self-managed instances.

GitLab released an out-of-band critical patch on August 17, 2026 fixing CVE-2026-19478 (CVSS 9.4), a flaw that under certain conditions lets unauthenticated attackers remotely modify or delete public projects and user data via a GraphQL directive in Community and Enterprise Editions. Fixes are available in GitLab 19.2.4, 19.1.6, 19.0.8, and 18.11.11; GitLab.com and GitLab Dedicated are already patched, so only self-managed installations need to act. The release also fixes CVE-2026-19650 (CVSS 7.1), a cross-site request forgery flaw in GraphQL multiplex query handling requiring user interaction. No exploitation or public exploit code has been observed as of August 18, 2026.