CVE-2026-87719
GitLab vulnerability analysis and mitigation

Overview

CVE-2026-87719 is a critical deserialization vulnerability in GitLab Enterprise Edition (EE) that allows an authenticated user with Duo Chat access to obtain Advanced Search instance configurations and sensitive credentials. The flaw affects all GitLab EE versions from 18.3 before 19.1.8, 19.2 before 19.2.6, and 19.3 before 19.3.2. It was disclosed and patched on September 12, 2026. The vulnerability carries a CVSS v3.1 base score of 9.9 (Critical) (GitHub Advisory, Feedly).

Technical details

The root cause is improper deserialization of untrusted data (CWE-502), mapped to CAPEC-586 (Object Injection). An authenticated attacker with Duo Chat access can craft a specially designed GraphQL subscription argument that bypasses serialization controls, enabling server-side object lookup. This allows the attacker to retrieve Advanced Search instance configurations and sensitive credentials stored within the GitLab instance. The vulnerability was originally reported via HackerOne (report #4012289) and tracked internally at GitLab work item #628160 (GitHub Advisory, Feedly).

Impact

Successful exploitation results in high confidentiality, integrity, and availability impact with a changed scope, meaning the vulnerability can affect resources beyond the directly vulnerable component. An attacker can exfiltrate Advanced Search instance configurations and sensitive credentials (such as API keys or service account secrets), which could enable lateral movement to connected systems or services. The broad scope of affected versions (18.3 through 19.3.x) means a large number of self-managed GitLab EE deployments are potentially at risk (GitHub Advisory, Feedly).

Exploitability

As of the disclosure date (September 12, 2026), there is no public proof-of-concept exploit and no confirmed evidence of active in-the-wild exploitation specific to CVE-2026-87719. The EPSS score is 0.0, reflecting low current exploitation probability. The vulnerability requires only low privileges (authenticated Duo Chat access) and no user interaction, lowering the bar for abuse. It has not been added to the CISA KEV catalog at this time (Feedly, GitHub Advisory).

Exploitation steps

  1. Reconnaissance: Identify GitLab EE instances running affected versions (18.3–19.1.7, 19.2.0–19.2.5, or 19.3.0–19.3.1) using version disclosure endpoints or banner grabbing tools.
  2. Obtain Duo Chat access: Authenticate to the target GitLab EE instance with any account that has Duo Chat feature access enabled.
  3. Craft malicious GraphQL subscription: Construct a specially crafted GraphQL subscription argument designed to bypass serialization validation — exploiting the deserialization flaw (CWE-502) to trigger server-side object lookup.
  4. Submit the payload: Send the crafted GraphQL subscription request to the GitLab GraphQL API endpoint (e.g., /api/graphql) while authenticated.
  5. Retrieve sensitive data: The server performs an unauthorized object lookup, returning Advanced Search instance configurations and sensitive credentials (e.g., Elasticsearch credentials, API tokens) in the response.
  6. Leverage exfiltrated credentials: Use the obtained credentials to access connected services (e.g., Elasticsearch clusters), enabling further lateral movement or data exfiltration (GitHub Advisory, Feedly).

Indicators of compromise

  • Network: Unusual or repeated GraphQL subscription requests to /api/graphql from authenticated low-privilege accounts, particularly those involving Duo Chat-related subscription types with unexpected or oversized arguments.
  • Logs: GitLab application logs showing GraphQL subscription activity from Duo Chat users accessing Advanced Search configuration objects; unexpected deserialization errors or object lookup traces in Rails logs.
  • Logs: Authentication logs showing Duo Chat-enabled accounts making atypical API calls outside normal usage patterns, especially at unusual hours.
  • File System: No specific file artifacts expected, but review for any new API tokens or credential rotation events in connected services (e.g., Elasticsearch) shortly after suspicious GraphQL activity.
  • Process: Unexpected outbound connections from the GitLab server to external hosts following GraphQL subscription activity, potentially indicating credential use by an attacker (GitHub Advisory, Feedly).

Mitigation and workarounds

GitLab has released patched versions addressing this vulnerability: 19.1.8, 19.2.6, and 19.3.2. All GitLab EE administrators running affected versions (18.3 through 19.3.1) should upgrade immediately. As a temporary workaround, restrict Duo Chat access to only highly trusted users until patching is complete. Additionally, monitor GraphQL subscription activity for suspicious patterns and review access logs for unauthorized credential disclosure attempts. Rotating Advanced Search (e.g., Elasticsearch) credentials after patching is also recommended as a precautionary measure (GitHub Advisory, Feedly).

Community reactions

The vulnerability received broad coverage from cybersecurity media outlets including BleepingComputer, The Hacker News, CyberScoop, SecurityWeek, SC World, and GBHackers, largely in the context of a broader GitLab patch release that also addressed other critical flaws (BleepingComputer, The Hacker News). The Hacker Wire published a dedicated technical write-up on the credential disclosure mechanism via GraphQL (The Hacker Wire). Social media discussion on Mastodon and Bluesky highlighted the 9.9 CVSS score and the risk to self-managed GitLab EE deployments. Community sentiment emphasized urgency to patch, particularly given the low privilege requirement for exploitation.

Additional resources


SourceThis report was generated using AI

Related GitLab vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-85706CRITICAL10
  • GitLab logoGitLab
  • gitlab
YesYesSep 12, 2026
CVE-2026-87719CRITICAL9.9
  • GitLab logoGitLab
  • cpe:2.3:a:gitlab:gitlab
NoYesSep 12, 2026
CVE-2026-75871CRITICAL9.6
  • GitLab logoGitLab
  • cpe:2.3:a:gitlab:gitlab
NoYesAug 27, 2026
CVE-2026-77801MEDIUM6.5
  • GitLab logoGitLab
  • gitlab-cng-19.3
NoYesAug 26, 2026
CVE-2026-7487LOW3.5
  • GitLab logoGitLab
  • gitlab-rails-19.3
NoYesAug 26, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management