Executive Summary
GitLab has shipped an emergency patch for CVE-2026-87719, a critical information-disclosure flaw in GitLab Enterprise Edition rated CVSS 9.9. Under certain conditions, an authenticated user with Duo Chat access can send a specially crafted GraphQL subscription argument that bypasses the platform's serialization logic and performs an unintended server-side object lookup — surfacing Advanced Search instance configuration data and sensitive credentials that should never leave the server.
CVSS Score: 9.9 (Critical)
The vulnerability was reported through GitLab's HackerOne bug bounty program and fixed in versions 19.1.8, 19.2.6, and 19.3.2, released September 10, 2026. GitLab.com has already received the patch; GitLab Dedicated customers do not need to take action.
Vulnerability Overview
| Attribute | Value |
|---|---|
| CVE ID | CVE-2026-87719 |
| CVSS Score | 9.9 (Critical) |
| Type | Insecure Deserialization / Information Disclosure (CWE-502) |
| Attack Vector | Network |
| Privileges Required | Low (authenticated user with Duo Chat access) |
| User Interaction | None |
| Impact | Confidentiality, Integrity, Availability — all High |
The root cause sits in the GraphQL subscription serializer used by Duo Chat when it queries Advanced Search state. A malformed subscription argument subverts the expected serialization flow and lets the server resolve an object it should have refused to return, leaking Advanced Search configuration values and embedded credentials to the requesting user.
Affected Versions
| Branch | Affected Range | Fixed Version |
|---|---|---|
| 19.1 | 18.3 ≤ version < 19.1.8 | 19.1.8 |
| 19.2 | 19.2 ≤ version < 19.2.6 | 19.2.6 |
| 19.3 | 19.3 ≤ version < 19.3.2 | 19.3.2 |
Related Fixes in the Same Release
GitLab's September 10 security release bundled two other notable issues alongside CVE-2026-87719:
| CVE | CVSS | Description |
|---|---|---|
| CVE-2026-85706 | 10.0 | Unauthenticated path traversal in the repository commits API, allowing arbitrary file read from the GitLab server |
| CVE-2026-88765 | High | Buffer overflow in the Unicode conversion wrapper used during Advanced Search indexing, reachable via a malicious project export import, potentially yielding RCE |
Researchers have already observed active reconnaissance/probing traffic against CVE-2026-85706. CVE-2026-87719 had not been confirmed as actively exploited at time of writing, but given the low bar (any Duo Chat user) and the value of the exposed credentials, exploitation attempts should be expected quickly.
Attack Vector
1. Attacker obtains or already holds a low-privileged account with Duo Chat access
2. Attacker crafts a GraphQL subscription request with a malicious argument
targeting Advanced Search resolution logic
3. Vulnerable serializer bypasses expected validation and performs a
server-side object lookup
4. Advanced Search instance configuration and embedded credentials are
returned in the GraphQL response
5. Attacker reuses leaked credentials against the Advanced Search backend
or pivots to further compromiseImmediate Remediation
Step 1: Upgrade Immediately
Upgrade self-managed instances to the fixed version for your branch:
# Example for the 19.3 branch
sudo gitlab-ctl reconfigure
sudo apt-get update && sudo apt-get install gitlab-ee=19.3.2-ee.0Confirm the installed version:
gitlab-rake gitlab:env:info | grep "GitLab information"Step 2: Rotate Advanced Search Credentials
Because the flaw discloses live configuration values, treat any Advanced Search (Elasticsearch/OpenSearch) credentials on affected instances as compromised:
- Rotate the Advanced Search connection credentials
- Rotate any API keys stored alongside that configuration
- Review Elasticsearch/OpenSearch access logs for unfamiliar source IPs
Step 3: Audit Duo Chat Access
- Review which users and groups currently hold Duo Chat access
- Restrict Duo Chat to users who genuinely need it until the patch is confirmed deployed
- Check GraphQL subscription logs for anomalous or malformed arguments
If Immediate Patching Is Not Possible
- Restrict Duo Chat access to a minimal trusted set of accounts
- Monitor GraphQL query logs for unusual subscription activity tied to Advanced Search
- Consider disabling Advanced Search integration temporarily on exposed instances
Post-Remediation Steps
- Confirm the upgrade to 19.1.8, 19.2.6, or 19.3.2 (or later)
- Rotate all Advanced Search credentials, even if you don't have direct evidence of exploitation
- Review GraphQL access logs retroactively for suspicious subscription patterns
- Re-audit Duo Chat permissions and apply least-privilege going forward
- Track CVE-2026-85706 and CVE-2026-88765 from the same release — patch all three together
References
- The Hacker News — GitLab CVSS 10 File-Read Flaw Draws In-the-Wild Probes After Disclosure
- BleepingComputer — GitLab Urges Users to Patch Max Severity Path Traversal Flaw
- GBHackers — Critical GitLab Flaws Let Attackers Read Arbitrary Files, Steal Credentials and Execute Code
- NIST NVD — CVE-2026-87719