← CYBERSPACE / Pwning
CVE-2026-19478 – Weekly Pwning Pick
Critical code injection in GitLab's GraphQL API allows unauthenticated attackers to modify, delete public projects and user data with CVSS 9.4.
CVE-2026-19478 represents one of the most dangerous vulnerabilities of 2026: a code injection flaw in GitLab's GraphQL directive handling that enables unauthenticated attackers to completely compromise public repositories and user data.
**The Vulnerability Mechanism**
GitLab's '@gl_introduced(version:)' GraphQL directive was designed to handle rolling deployments by filtering out fields ahead of the running instance version. However, the implementation contains a critical flaw: the 'FutureFieldFallback#get_field' interceptor fails to properly validate field lookups when the 'contain_future_fields' flag is enabled. This allows attackers to inject malicious directives that bypass authorization checks and execute unauthorized mutations—including project deletion, data modification, and user permission escalation.
**Attack Surface & Impact**
The exploit requires zero authentication, zero user interaction, and low attack complexity (CVSS vector: AV:N/AC:L/PR:N/UI:N). An attacker can craft a single HTTP POST request to the /api/graphql endpoint and instantly delete public projects, modify repository contents, alter user permissions, and access private project metadata.
With a CVSS score of 9.4, this ranks as critical infrastructure-level severity.
**Real-World Context**
The vulnerability affects GitLab 18.2 through 19.2.3 across both Community Edition and Enterprise Edition. GitLab patched all versions on August 17, 2026. Security firm watchTowr demonstrated working exploitation within minutes of the patch release—AI-augmented attackers are presumably doing the same.
**Why This Matters**
GitLab is deeply embedded in DevOps pipelines across tech companies. Unauthenticated repository deletion enables supply chain attacks, data theft, and operational sabotage at scale. Organizations running self-managed instances remain exposed until patching immediately.
Quelle ansehen ↗