CVE-2026-19650 is a cross-site request forgery vulnerability in GitLab Community Edition and Enterprise Edition GraphQL multiplex query handling. Improper request validation permitted a multiplexed request to be validated as a read-only GraphQL GET operation while executing a state-changing mutation. The underlying condition resulted from shared tracer state across multiplexed queries, allowing a validated document and the document executed for a query to diverge. This bypassed GitLab’s intended restriction against executing mutations through GET requests.
Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.
What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
If you can’t patch tonight, do this now.
Patch, then assume compromise.
1 valid exploit after Mallory filtered fakes, detection scripts, and README-only repos (1 hidden).
Repository is a small self-contained GitLab vulnerability lab and PoC set with 5 files: a README, Docker Compose lab definition, two Python PoCs, and a Bash setup script. The main exploit file, poc_cve_2026_19478.py, targets CVE-2026-19478 in GitLab GraphQL. It sends POST requests to /api/graphql with attacker-controlled GraphQL fields annotated by @gl_introduced(version:"99.0.0") so that on vulnerable servers the fallback path resolves the field by calling object.public_send(field_name). In safe mode it probes with a harmless zero-argument method such as to_param against a public project and treats a non-null response as evidence of arbitrary method invocation. In optional proof mode, it first uses the authenticated REST API (/api/v4/projects) to create a disposable public project, then sends an unauthenticated GraphQL query requesting the destroy field to trigger Project#destroy, and finally verifies deletion via GET /api/v4/projects/{id}. This demonstrates unauthenticated destructive impact against public projects. The second PoC, poc_cve_2026_19650.py, is a safe detector for the sibling CVE-2026-19650. It submits a two-element Apollo-style GraphQL batch to /api/graphql and checks whether slot 0 incorrectly returns slot 1 data, indicating multiplex query/document swapping caused by shared tracer state. The repository also includes docker-compose.yml, which provisions two GitLab CE containers for A/B testing: vulnerable 19.2.2-ce.0 on port 8222 and patched 19.2.4-ce.0 on port 8224. setup.sh waits for GraphQL readiness, seeds a public project at root/pub, and creates an admin personal access token on each instance for lab use. Overall, this is a real exploit repository with both detection and optional impact-proof capability, focused on unauthenticated GraphQL abuse in GitLab rather than a generic scanner or framework module.
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.
33 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.
A high-severity GitLab CSRF vulnerability affecting GraphQL multiplex-request validation. It can cause authenticated victims to execute GraphQL mutations through crafted GET requests after social engineering.
A GitLab GraphQL request-processing flaw that allows unauthorized users to make server-side changes.
A high-severity GitLab CE/EE GraphQL multiplex-query validation flaw (CWE-352) that allows unauthenticated users to perform server-state mutations through GET requests. The content assigns it a CVSS 3.1 score of 7.1.
A high-severity GitLab GraphQL API vulnerability that requires user interaction, such as victims clicking manipulated links.
Query your assets running an affected version, and investigate the blast radius.
Every observed campaign linking this CVE to a named adversary.
Malware families riding this exploit, with evidence and IOCs.
YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.
Cross-references every affected SKU, including bundled OEM variants.
Community discussion across Reddit, Mastodon, and other social sources.