Critical GitLab bug lets strangers delete public projects

GitLab has patched a flaw in its GraphQL interface that let an attacker with no account at all modify or delete public projects on a self managed server. The bug, CVE-2026-19478, carries a CVSS score of 9.4 out of 10, and the combination behind that number is about as bad as it gets: reachable over the network, low complexity, no privileges required, no user interaction.

The fixes shipped on 17 August in GitLab Community Edition and Enterprise Edition 18.11.11, 19.0.8, 19.1.6 and 19.2.4. Peru's Centro Nacional de Seguridad Digital flagged the release in its integrated security alert No. 151 the following day, and that alert is the basis for this account. GitLab's own advisory carries the authoritative detail.

A query that needs no account

The alert describes CVE-2026-19478 as a code injection issue tied to a GraphQL directive. GraphQL is the query interface GitLab exposes for reading and changing nearly everything in the product, and under certain conditions a remote attacker without a valid account could use it to carry out unauthorised actions against public resources. The stated impact is modification or deletion of public projects and user data, which makes this an integrity and availability problem rather than a data theft one. Neither the alert nor the score explains how the injection is triggered, and nobody should assume it can be reconstructed from the description.

Affected branches are GitLab CE and EE 18.2 up to but not including 18.11.11, 19.0 before 19.0.8, 19.1 before 19.1.6, and 19.2 before 19.2.4. The instances GitLab runs itself, GitLab.com and GitLab Dedicated, have already been updated. Everyone else has to do it.

A second GraphQL bug in the same release

The same update fixes CVE-2026-19650, a cross site request forgery flaw scored 7.1, in the controller that handles multiplexed GraphQL queries. Where request validation is not performed correctly, it could let unauthenticated users run GraphQL mutations, meaning write operations, through ordinary GET requests. GET requests are the ones a browser fires simply by loading a page, which is what makes that class of bug awkward to defend against at the network edge.

Microsoft's site servers have public exploit code

The same Peruvian alert carries a second item worth acting on. CVE-2026-47301 is a high severity improper access control flaw in Microsoft Configuration Manager, in versions before 2503, 2509 and 2603. An attacker holding low level network credentials could perform privileged operations and interact directly with critical services on the site server. The alert describes it as the key link in an exploitation chain that ends in arbitrary file writes and malicious libraries loaded into the SMS_EXECUTIVE service, giving remote code execution as SYSTEM. There are no confirmed reports of exploitation in the wild and it is not in CISA's Known Exploited Vulnerabilities catalogue, but proof of concept code is public. Microsoft's advisory is the reference for affected builds.

Update, then read your audit log

Move affected GitLab installations to 18.11.11, 19.0.8, 19.1.6 or 19.2.4 depending on the branch, and take the internet facing instances first. Then look backwards: check the GitLab audit log for public projects modified or deleted unexpectedly, for membership changes, for alterations to user data, and for anomalous GraphQL activity.

Source code platforms keep drawing this kind of attention. Espionage crews have used GitLab and GitHub as disposable infrastructure for their own campaigns, and unauthenticated flaws in collaboration software have a track record of being chained into full server takeover, as they were in this year's SharePoint chain. An unauthenticated destructive bug in a code host is the sort that gets noticed by its damage rather than by an alert, which is the argument for patching it before the weekend rather than after.

This briefing is provided by IntelFusions for informational and defensive purposes only. It is based on sources assessed to be reliable at the time of writing, and analytic judgments carry the confidence levels indicated. Indicators of compromise are defanged; re-arm them only in controlled environments. IntelFusions is not affiliated with the organizations named and makes no warranty as to completeness or accuracy.

Read the full analysis on IntelFusions