VORANT. Threat Intelligence Research Sign in Create a free account

Multiple vulnerabilities in GitLab enable RCE and DoS

high vulnerability technology

Free public brief. The indicators, the detections with Splunk SPL already written (plus Elastic and KQL where they apply), and a Slack alert the next time this touches a vendor you run are in the app — free account, no card.

Multiple flaws in GitLab allow arbitrary code execution, denial of service, and data confidentiality breaches; immediate patching required.

CERT-FR has published an advisory covering multiple vulnerabilities affecting GitLab Community Edition and Enterprise Edition across versions 19.1.x (prior to 19.1.8), 19.2.x (prior to 19.2.6), and 19.3.x (prior to 19.3.2). The vulnerabilities enable a range of attacks including arbitrary code execution, remote denial of service, data confidentiality compromise, security policy bypass, and XSS injection. The French CERT references 18 distinct CVEs, indicating a significant patch release that addresses critical functionality risks in widely-deployed Git repository management systems.

Organizations running GitLab must prioritize updates to versions 19.1.8, 19.2.6, or 19.3.2 and later. The advisory emphasizes consulting GitLab's official security bulletin for detailed patch information and mitigation guidance. Given the severity of the flaws—particularly remote code execution and denial of service capabilities—deployment of fixes should be treated as urgent for any internet-facing or internal GitLab instances.

Mentioned in this report

Vulnerabilities CVE-2024-11222CVE-2025-14871CVE-2026-1168CVE-2026-12910CVE-2026-13210CVE-2026-16794CVE-2026-19619CVE-2026-3855CVE-2026-7514CVE-2026-78252CVE-2026-79708CVE-2026-8030CVE-2026-82837CVE-2026-85706KEVCVE-2026-86340CVE-2026-86341CVE-2026-87719CVE-2026-88765

Detection guidance

GitLab Application Process Spawning Shell With Download or Reverse-Shell Commands

ATT&CK T1190

A GitLab embedded Ruby/Puma/Sidekiq process spawning a shell that runs download, reverse-shell or decode-and-execute commands, which suggests RCE exploitation of GitLab. Auto-generated starting point — validate and tune in your environment before deploying. IOC matches can false-positive on shared infrastructure and decay as adversary infrastructure rotates.

title: GitLab Application Process Spawning Shell With Download or Reverse-Shell Commands
description: Detects shells launched by GitLab's embedded Ruby application processes
  (Puma, Sidekiq, Rails) that run download, reverse-shell or decode-and-execute commands.
  This is post-exploitation behaviour after RCE in a public-facing GitLab instance.
  It generalises on the parent/child relation and command patterns, not on specific
  CVEs.
tags:
- attack.initial-access
- attack.t1190
- attack.execution
- attack.t1059
logsource:
  category: process_creation
  product: linux
detection:
  selection_parent:
    ParentImage|contains: /opt/gitlab/embedded/
  selection_child:
    Image|endswith:
    - /sh
    - /bash
    - /dash
  selection_cmd:
    CommandLine|contains:
    - /dev/tcp/
    - mkfifo
    - nc -e
    - curl http
    - wget http
    - base64 -d
    - bash -i
  condition: selection_parent and selection_child and selection_cmd
falsepositives:
- Custom GitLab integrations or hooks that legitimately call curl or wget through
  a shell from the Rails or Sidekiq process
- Administrators running maintenance scripts from within the GitLab embedded environment
level: high
id: 4caf3996-aa52-5a77-8b7f-fadd3e41c952
status: experimental
author: Vorant
references:
- https://www.cert.ssi.gouv.fr/avis/CERTFR-2026-AVI-1160

Behavioural rules are generated from public reporting — validate in your environment before deploying.

Source reporting: https://www.cert.ssi.gouv.fr/avis/CERTFR-2026-AVI-1160

What this brief leaves out

This page is the free tier: the write-up, the severity, the names. In the app the same report carries its extracted indicators, its detections (Splunk SPL already written, plus Elastic and Microsoft KQL where they apply), the actors and CVEs it names as live profiles, and the vendor research on the same campaign — the primary source the news paraphrased, cited and read directly.

It sits in a corpus of 13,853 reports from 146 sources, 616 of them written in the last seven days, and it grows through the day.

A new account starts with three days of all of it, no card, then keeps the government and CERT reporting free. Name the vendors you run and Slack hears about the reports that touch them — about forty a week that are yours, not the four hundred that are not.

Create a free account   What it costs