Overview
On August 17, 2026, GitLab released emergency patches for a critical GraphQL vulnerability tracked as CVE-2026-19478. The flaw allows unauthenticated attackers to remotely modify or delete public projects and user data on self-managed installations. The vulnerability has been assigned a CVSS score of 9.4 (Critical), making it one of the most severe security issues observed in GitLab this year.
Technical Details
The issue resides in GitLab's GraphQL API layer. A crafted GraphQL directive can be sent to a vulnerable instance without any credentials or user interaction, triggering a code-injection path that ultimately executes destructive operations on public projects. The attack vector works over the network (AV:N), requires low complexity (AC:L), and impacts integrity (I:H) and availability (A:H) while confidentiality impact is low (C:L). The flaw affects all self-managed Community Edition (CE) and Enterprise Edition (EE) 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.
Impact
Successful exploitation enables an attacker to:
- Delete public repositories, removing source code, CI/CD pipelines, and release artifacts.
- Modify project metadata, potentially injecting malicious files or altering permissions.
- Exfiltrate or corrupt user data stored within public projects.
Because no authentication is required, any internet-facing GitLab instance is at risk. Automated scanners can probe for the vulnerable GraphQL endpoint, making large-scale exploitation feasible.
Affected Versions & Patch Release
GitLab patched the issue on August 17, 2026 and released the following patched versions:
- 19.2.4
- 19.1.6
- 19.0.8
- 18.11.11
Self-managed deployments must upgrade immediately. GitLab.com and GitLab Dedicated are already on the patched versions and require no action. No new database migrations are required, and multi-node clusters should not experience downtime.
Mitigation & Recommendations
- Upgrade all self-managed GitLab instances to the latest patched version (18.11.11, 19.0.8, 19.1.6, or 19.2.4) immediately.
- Restrict external access to the GraphQL endpoint (
/api/graphql) using firewall rules or a reverse-proxy that enforces authentication for public-facing services. - Monitor audit logs for unexpected project deletions or modifications. Look for GraphQL mutation activity without an authenticated session.
- Apply any future security updates promptly; consider enabling GitLab’s auto-update channel for critical patches.
- Review and reduce the exposure of public projects where possible, moving sensitive repositories to private visibility.
Top comments (0)