GitLab has released an emergency security update to address a critical GraphQL vulnerability that could allow unauthenticated attackers to remotely modify or delete public projects and user data. Administrators running self-managed GitLab installations should upgrade immediately.
GitLab released 19.2.4, 19.1.6, 19.0.8, and 18.11.11 on August 17, 2026, as an ad-hoc critical patch release for Community Edition (CE) and Enterprise Edition (EE).
The most serious issue, tracked as CVE-2026-19478, carries a CVSS score of 9.4 and affects the GraphQL functionality used by GitLab. According to GitLab, exploitation under certain conditions could allow an unauthenticated remote attacker to modify or delete public projects and user data through a GraphQL directive.
A second vulnerability, CVE-2026-19650, was also fixed. It is a high-severity CSRF vulnerability in the GraphQL multiplex query handler that could allow unauthenticated attackers to execute GraphQL mutations through GET requests when the necessary conditions are met.
The vulnerabilities affect self-managed GitLab installations. GitLab.com and GitLab Dedicated have already been updated and do not require customer action.
GitLab Releases Critical Security Update
GitLab’s August 17 security release is notable because it is an ad-hoc critical patch, rather than a routine scheduled patch.
GitLab normally publishes scheduled patch releases twice each month. Critical vulnerabilities can instead trigger an emergency release when the severity warrants immediate remediation.
The company strongly recommends that administrators running affected self-managed versions upgrade to the latest supported patch release as soon as possible.
The patched versions are:
| GitLab branch | Patched version |
|---|---|
| GitLab 19.2 | 19.2.4 |
| GitLab 19.1 | 19.1.6 |
| GitLab 19.0 | 19.0.8 |
| GitLab 18.11 | 18.11.11 |
GitLab’s maintenance documentation currently lists 19.2, 19.1, and 19.0 as maintained release branches, with security fixes backported across maintained versions.
📬 Stay Ahead of Cyber Threats
Get the latest cybersecurity news, critical vulnerabilities, threat intelligence, tutorials, and exclusive giveaways delivered straight to your inbox. No spam. Unsubscribe anytime.
Subscribe to the Newsletter →CVE-2026-19478: Critical GitLab GraphQL Code Injection Vulnerability

The most important vulnerability addressed in the release is CVE-2026-19478.
GitLab describes the issue as a code injection vulnerability involving a GraphQL directive. Under certain conditions, an attacker who has no GitLab account or authentication could remotely manipulate public projects and user data.
The vulnerability has been assigned a CVSS 3.1 score of 9.4, placing it firmly in the critical severity category.
The published CVSS vector is:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:H
Several characteristics of this score are particularly important for GitLab administrators:
- AV:N: The vulnerability can be reached over a network.
- AC:L: The attack complexity is considered low.
- PR:N: No privileges or authentication are required.
- UI:N: No victim interaction is required.
- C:L: Confidentiality can be affected to a limited extent.
- I:H: Integrity can be significantly affected.
- A:H: Availability can be significantly affected.
The combination of network reachability, no authentication, no user interaction, and high integrity and availability impact makes CVE-2026-19478 particularly concerning for Internet-facing GitLab servers.
GitLab credits security researcher hiimguardian with reporting the vulnerability through its HackerOne bug bounty program.
Which GitLab Versions Are Vulnerable?
GitLab states that CVE-2026-19478 affects the following versions:
- GitLab CE/EE 18.2 and later before 18.11.11
- GitLab CE/EE 19.0 before 19.0.8
- GitLab CE/EE 19.1 before 19.1.6
- GitLab CE/EE 19.2 before 19.2.4
Administrators should therefore not assume that simply running a recent GitLab release makes an installation safe.
For example:
19.2.3 → vulnerable
19.2.4 → patched
19.1.5 → vulnerable
19.1.6 → patched
19.0.7 → vulnerable
19.0.8 → patched
18.11.10 → vulnerable
18.11.11 → patched
The safest approach is to identify the exact installed GitLab version and upgrade to the corresponding security release.
Why CVE-2026-19478 Is Particularly Serious
GitLab installations frequently contain highly valuable development infrastructure.
A compromised GitLab instance can potentially expose or affect:
- Source code
- CI/CD configurations
- Project repositories
- Issues and project data
- Development workflows
- Deployment configurations
- Package and artifact infrastructure
- Access tokens and other secrets stored within projects
- Software supply-chain processes
The impact described by GitLab for CVE-2026-19478 is especially concerning because exploitation can occur without authentication under the relevant conditions.
The ability to modify or delete public projects could also create integrity and availability problems for organizations using GitLab as part of their software development and delivery infrastructure.
At this stage, however, administrators should distinguish between the potential impact described in the security advisory and confirmed exploitation. GitLab’s advisory does not state that CVE-2026-19478 is being actively exploited in the wild.
CVE-2026-19650: High-Severity GraphQL CSRF Vulnerability
The same emergency patch also fixes CVE-2026-19650, a separate vulnerability affecting GitLab’s GraphQL multiplex query handler.
GitLab describes the issue as a cross-site request forgery vulnerability that could allow an unauthenticated attacker to execute GraphQL mutations through GET requests because of improper request validation.
The vulnerability carries a CVSS score of 7.1.
Its CVSS vector is:
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:L
Unlike CVE-2026-19478, this vulnerability requires user interaction.
This is important:
CVE-2026-19478
Unauthenticated + network exploitable + no user interaction + critical severity.
CVE-2026-19650
Unauthenticated + network exploitable + user interaction required + high severity.
Both vulnerabilities affect GitLab’s GraphQL functionality, making the emergency patch particularly relevant to administrators operating Internet-accessible GitLab instances.
GitLab credits security researcher kreep with reporting CVE-2026-19650 through the HackerOne bug bounty program.

What Is GraphQL and Why Does It Matter Here?
GraphQL is an API query language and runtime that allows clients to request and manipulate application data through structured queries.
Instead of relying exclusively on conventional REST-style endpoints, GraphQL can expose a schema through which clients interact with different objects and operations.
GitLab uses GraphQL for various application functionality.
That makes security controls around GraphQL particularly important.
The vulnerabilities disclosed in this release demonstrate why GraphQL implementations must carefully validate:
- Which operations are permitted
- Which directives can be supplied
- Which HTTP methods can invoke mutations
- Whether authentication is required
- Whether authorization is enforced correctly
- Whether requests originating from another site can trigger state-changing operations
- Whether user-controlled GraphQL input can reach dangerous application functionality
In CVE-2026-19478, GitLab identified a code injection issue involving a GraphQL directive.
In CVE-2026-19650, the problem involved request validation in GraphQL multiplex query processing.
The two flaws therefore involve different security failures, but both affect the same broader API surface.

No Public Exploit Details Yet
GitLab has not publicly disclosed the precise GraphQL directive involved in CVE-2026-19478 or the exact conditions required for exploitation.
That is important from both a defensive and incident-response perspective.
Security researchers and defenders will likely want additional technical information, but GitLab states that vulnerability details are made public on its issue tracker after a disclosure delay.
This means administrators should patch before detailed exploitation research becomes widely available rather than waiting for a proof-of-concept to appear.
The absence of a public exploit should not be interpreted as evidence that an affected GitLab instance is safe.
Is CVE-2026-19478 Being Exploited?
At the time of this publication, there is no confirmation in GitLab’s advisory that CVE-2026-19478 is being actively exploited in the wild.
There is also no need to describe the vulnerability as a known exploited vulnerability unless authoritative sources subsequently confirm that status.
A critical vulnerability can require immediate remediation even when exploitation has not been confirmed. Internet-facing development platforms are attractive targets because compromising them can provide access to source code, development pipelines, credentials, artifacts, and software delivery infrastructure.
Administrators should therefore treat the GitLab emergency patch as an urgent security update rather than waiting for exploitation reports.
GitLab CE and EE Are Both Affected
The vulnerability affects both:
- GitLab Community Edition (CE)
- GitLab Enterprise Edition (EE)
GitLab also notes that when a deployment type is not specifically excluded, the affected versions apply across deployment types.
Organizations should therefore check their specific GitLab deployment rather than assuming that only a particular installation method is vulnerable.
This includes environments using common self-managed deployment approaches such as:
- Omnibus GitLab
- Source-based installations
- Kubernetes-based deployments
- GitLab Helm deployments
- Other supported self-managed configurations
GitLab.com Customers Do Not Need to Patch
The security advisory makes an important difference between self-managed and GitLab-hosted environments.
GitLab.com is already running the patched version.
GitLab Dedicated is also already patched.
Customers using those hosted services do not need to perform the emergency upgrade themselves.
The urgent remediation requirement applies primarily to self-managed GitLab installations.
How to Check Your GitLab Version
Before upgrading, administrators should identify the currently installed version.
From the GitLab interface, the installed version can be checked through the application’s help or administrative information depending on the deployment and permissions.
Administrators can also use their existing GitLab package or installation management procedures to determine the installed release.
The key requirement is to compare the installed version against the patched versions:
19.2.x → upgrade to 19.2.4 or later19.1.x → upgrade to 19.1.6 or later19.0.x → upgrade to 19.0.8 or later18.11.x → upgrade to 18.11.11 or later
If an installation falls within the affected ranges, upgrading should be treated as a priority.
Upgrade to the Latest Security Patch
GitLab recommends upgrading affected self-managed installations as soon as possible.
The relevant targets are:
19.2 → 19.2.4
19.1 → 19.1.6
19.0 → 19.0.8
18.11 → 18.11.11
Organizations should follow their normal GitLab change-management and backup procedures before applying the update.
GitLab states that these versions do not include new database migrations and that multi-node deployments should not require downtime as a result of migrations.
However, administrators should still validate the upgrade in accordance with their own production change procedures.
What Security Teams Should Check After Patching
Patching is the most important immediate action, but organizations operating Internet-facing GitLab infrastructure should also consider reviewing their logs and security telemetry.
Particular attention should be given to unexpected activity involving:
- GraphQL endpoints
- Unusual unauthenticated requests
- Unexpected mutations
- Changes to public projects
- Unexpected project deletion
- Unexpected repository modifications
- Newly created users or access tokens
- Changes to project membership
- Unexpected CI/CD configuration modifications
- Suspicious repository commits
- Unexpected webhooks or integrations
The absence of a known public exploit means there is currently no reason to assume that every unusual GraphQL request represents exploitation. Log analysis should therefore be based on the organization’s normal GitLab traffic patterns and broader security telemetry.
What to Do If You Suspect Exploitation
If an affected GitLab installation shows suspicious activity, organizations should treat the incident as a potential security event.
A sensible response includes:
- Preserve relevant GitLab, reverse-proxy, firewall, authentication, and endpoint logs.
- Identify the timeline of suspicious requests and project modifications.
- Determine whether unauthorized projects, users, tokens, memberships, repositories, or CI/CD configurations were changed.
- Review recent commits and repository activity.
- Investigate suspicious authentication and API activity.
- Rotate potentially exposed credentials and access tokens where appropriate.
- Review CI/CD runners and deployment credentials.
- Compare affected project data against known-good backups or repositories.
- Patch the GitLab instance immediately.
- Continue monitoring after remediation.
Organizations should avoid destroying evidence during emergency cleanup. Preserving relevant logs and system state can be critical if a compromise is subsequently confirmed.
GitLab Security Advisory Timeline
The August 17 release is significant because it was issued as an ad-hoc critical patch rather than a routine scheduled update.
GitLab uses scheduled patch releases for regular security and bug fixes, while critical vulnerabilities can trigger releases outside the normal schedule.
This emergency release addresses two GraphQL-related security vulnerabilities:
CVE Severity CVSS Vulnerability Authentication CVE-2026-19478 Critical 9.4 Code injection via GraphQL directive None required CVE-2026-19650 High 7.1 CSRF in GraphQL multiplex query handling None required, user interaction needed
GitLab’s previous patch releases have also addressed high-severity issues across its API, authentication, CI/CD, and project-management functionality, highlighting the importance of keeping self-managed installations on supported security branches.
Why GitLab Administrators Should Act Now
The most important takeaway is straightforward:
If you operate a self-managed GitLab instance running an affected version, patch it immediately.
CVE-2026-19478 combines several characteristics that security teams generally consider high risk: remote network access, low attack complexity, no authentication requirement, and no user interaction.
Furthermore, GitLab installations are often part of an organization’s software supply chain. The repositories, CI/CD pipelines, artifacts, credentials, and deployment infrastructure connected to GitLab can make a successful compromise significantly more consequential than an isolated application vulnerability.
Waiting for a public exploit before patching is therefore a poor risk-management strategy.
Recommended Versions
Organizations should upgrade to one of the following patched releases:
Current branch Recommended release GitLab 19.2 19.2.4 GitLab 19.1 19.1.6 GitLab 19.0 19.0.8 GitLab 18.11 18.11.11
GitLab’s official release documentation should be used as the authoritative source for deployment-specific upgrade instructions.
Bottom Line
CVE-2026-19478 is a critical GitLab GraphQL vulnerability with a CVSS score of 9.4 that can, under certain conditions, allow an unauthenticated remote attacker to modify or delete public projects and user data.
GitLab has addressed the vulnerability in 19.2.4, 19.1.6, 19.0.8, and 18.11.11.
A second GraphQL vulnerability, CVE-2026-19650, was also fixed in the same emergency release.
There is currently no confirmation in the advisory that either vulnerability is being actively exploited, and detailed technical exploitation information has not yet been publicly disclosed. That should not delay remediation.
For organizations running GitLab themselves, the recommended action is simple:
Check your version. Upgrade to the appropriate patched release. Review relevant logs for suspicious activity. Rotate credentials if compromise is suspected.
For GitLab.com and GitLab Dedicated customers, GitLab says the infrastructure has already been patched and no customer-side upgrade is required.









