SecPod

Learn Search

Search across all Learn content

← Back to Security Research
Critical GitLab Flaw Exposes Public Projects to Deletion — Two CVEs Patched, Including High-Severity CSRF

Critical GitLab Flaw Exposes Public Projects to Deletion — Two CVEs Patched, Including High-Severity CSRF

CVE-2026-19478 is a critical code injection vulnerability in GitLab CE/EE that allows an unauthenticated attacker to modify or delete public projects and user data by abusing a GraphQL directive. A second high-severity issue, CVE-2026-19650, involves cross-site request forgery in the GraphQL multiplex query handler. This article examines how the critical vulnerability works, the availability of a public proof-of-concept, the potential impact on self-managed instances, the affected versions, and the security updates released to remediate both issues.

Aug 19, 2026By Bapanapalli Prem Sai Siddhik

Summary

GitLab has released security patches for two vulnerabilities, including a critical-severity code injection flaw (CVE-2026-19478) that can be exploited without authentication to modify or delete public projects and user data. The second vulnerability (CVE-2026-19650) is a cross-site request forgery issue in the GraphQL multiplex query handler. GitLab urges all self-managed installations to upgrade immediately to the patched versions.

Vulnerability Details

CVE ID CVSS Score EPSS Score Type
CVE-2026-19478 9.4 (Critical) 0.72% CWE-94 : Code Injection
CVE-2026-19650 7.1 (High) 0.24% CWE-352 : Cross-Site Request Forgery

Technical Information

Critical Unauthenticated No User Interaction Code Injection Public PoC

CVE-2026-19478 — Code Injection via GraphQL Directive

Under certain conditions, an unauthenticated attacker can abuse a GraphQL directive to remotely modify or delete public projects and user data. The flaw stems from improper handling of the directive during query resolution, which can result in unintended method calls on underlying objects. Because the attack requires no authentication and no user interaction, any internet-facing self-managed instance with publicly accessible projects is at elevated risk.

High Unauthenticated CSRF

CVE-2026-19650 — CSRF in GraphQL Multiplex Query Handler

Improper request validation in the GraphQL multiplex query handler can allow an unauthenticated attacker to execute mutations through GET requests. Exploitation requires user interaction, typically by tricking an authenticated user into visiting a crafted link. While less severe than the critical code injection issue, successful abuse can still lead to unauthorized changes within the application.

Proof of Concept Analysis

A public proof-of-concept for CVE-2026-19478 has been published. It demonstrates how an unauthenticated attacker can abuse a GraphQL directive to trigger unintended method calls on GitLab objects such as projects or users, potentially leading to modification or deletion of public data.

The exploitation flow can be understood in the following high-level stages:

1. Target Identification

The attacker first identifies a publicly visible project or user on the target GitLab instance. Because the vulnerability does not require authentication, any publicly resolvable object can serve as a target.

2. Abuse of the GraphQL Directive

The core of the issue lies in how GitLab processes a specific GraphQL directive related to versioned fields. Under certain conditions, an attacker-controlled field name in the query is incorrectly treated as a method call on the underlying object instead of being rejected as an invalid field. This allows the attacker to influence which method is invoked on the target object during query resolution.

3. Triggering the Vulnerability

The attacker sends a crafted GraphQL request to the publicly accessible GraphQL endpoint. No authentication or user interaction is required. When the vulnerable code path is reached, the unintended method is executed in the context of the targeted public project or user.

4. Impact on the Target

Depending on the method that gets invoked, the result can range from relatively benign state changes (useful for detection) to more serious actions such as modification or deletion of public projects and associated user data.

5. Verification

Successful triggering of the vulnerability can be observed through changes in the targeted object’s state, for example unexpected updates or removal of a public project. Patched instances correctly reject the invalid field and return a standard GraphQL validation error.

The existence of a public proof-of-concept increases the risk of automated scanning against unpatched self-managed instances.

Exploitation Flow (High-Level)

STEP 1
Target
Identification
→
STEP 2
Abuse of the
GraphQL Directive
→
STEP 3
Triggering the
Vulnerability
→
STEP 4
Impact on
the Target
→
STEP 5
Verification

No authentication or user interaction is required. The attack is possible against any publicly visible project or user on a vulnerable self-managed instance.

Impact

  • CVE-2026-19478
    Unauthenticated remote modification or deletion of public projects and user data. This can lead to data loss and potential supply-chain risk on public repositories.
  • CVE-2026-19650
    Unauthorized GraphQL mutations if a user can be social-engineered into interacting with a crafted request.

Affected and Fixed Versions

The vulnerabilities affect GitLab Community Edition and Enterprise Edition in the following ranges:

  • 18.2 before 18.11.11
  • 19.0 before 19.0.8
  • 19.1 before 19.1.6
  • 19.2 before 19.2.4

The issues have been fixed in the following versions:

  • 19.2.4
  • 19.1.6
  • 19.0.8
  • 18.11.11

GitLab.com and GitLab Dedicated are already running the patched versions. Organizations running any affected version should upgrade to one of the fixed releases listed above.

MITRE ATT&CK Mapping

Technique ID Technique Name Tactic
T1190 Exploit Public-Facing Application Initial Access
T1059 Command and Scripting Interpreter (GraphQL directive injection) Execution
T1485 Data Destruction (project / user data deletion) Impact

Mitigation and Recommendations

GitLab has released security updates to remediate both vulnerabilities.

  • Upgrade to fixed versions depending on the current branch.
  • Until the upgrade can be applied, restrict external access to the GraphQL endpoint where feasible.
  • Monitor for unusual modifications to public projects or user accounts.

There is no complete workaround for these issues. Applying the vendor security updates is the recommended path to full remediation.

Self-managed GitLab administrators should treat CVE-2026-19478 as an emergency update. The vulnerability requires no authentication and no user interaction, and a public proof-of-concept is available. GitLab.com and GitLab Dedicated customers do not need to take action.

Instantly Fix Risks with Saner Patch Management

Saner patch management is a continuous, automated, and integrated solution that helps you quickly remediate risks, including critical third-party application updates. It supports Windows, Linux, macOS, and 550+ third-party applications.

You can stage patches in a safe testing environment before production deployment and roll back if needed.

Experience the fastest and most accurate patching software here.

Featured Posts

Open Citrix Sounds the Alarm: Two Critical NetScaler Zero-Days Actively Exploited
Citrix Sounds the Alarm: Two Critical NetScaler Zero-Days Actively Exploited

CVE Research

Citrix Sounds the Alarm: Two Critical NetScaler Zero-Days Actively Exploited

Citrix has released security updates for NetScaler ADC and NetScaler Gateway addressing CVE-2026-88771 and CVE-2026-88772, two critical remote code execution vulnerabilities. Exploits against unmitigated deployments have been observed. CVE-2026-88771 affects all deployments, including default configurations; CVE-2026-88772 applies when DTLS is enabled, including the default state on VPN virtual servers. This article covers impact, affected and fixed versions, how to confirm exposure, and recommended remediation.

Sep 28, 2026

Open CVE-2023-49105: The ownCloud Authentication Flaw That Exposed Sensitive Credentials
CVE-2023-49105: The ownCloud Authentication Flaw That Exposed Sensitive Credentials

CVE Research

CVE-2023-49105: The ownCloud Authentication Flaw That Exposed Sensitive Credentials

Sep 25, 2026

Open Patch Analysis & Exploitation Timeline: RouterOS SSH Attacks Predate Production Fixes in CISA's September 10, 2026 KEV Additions
Patch Analysis & Exploitation Timeline: RouterOS SSH Attacks Predate Production Fixes in CISA's September 10, 2026 KEV Additions

CVE Research

Patch Analysis & Exploitation Timeline: RouterOS SSH Attacks Predate Production Fixes in CISA's September 10, 2026 KEV Additions

Two MikroTik RouterOS CVEs entered CISA KEV seven days after production fixes. Dated reporting places SSH-chain exploitation involving CVE-2026-86060 at least one calendar day before those releases; no comparable start date is established for CVE-2026-67277.

Sep 25, 2026

Open Patch Analysis & Exploitation Timeline: A Day-Old Chrome Bug and an Eight-Month-Old Fortinet Flaw Share the Same KEV Batch
Patch Analysis & Exploitation Timeline: A Day-Old Chrome Bug and an Eight-Month-Old Fortinet Flaw Share the Same KEV Batch

CVE Research

Patch Analysis & Exploitation Timeline: A Day-Old Chrome Bug and an Eight-Month-Old Fortinet Flaw Share the Same KEV Batch

Four vulnerabilities added to CISA’s KEV catalog on September 9, 2026 show widely different timelines between public disclosure and formal exploitation-based prioritization, ranging from one day to 239 days.

Sep 24, 2026