Skip to main content

GraphQL Tools CVE-2026-103921

| EUVDEUVD-2026-90922 HIGH
Improper Certificate Validation (CWE-295)
2026-10-01 GitHub_M GHSA-6fw5-9hq8-w87g
7.4
CVSS 3.1 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
7.4 HIGH
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
vuln.today AI
7.4 HIGH

AC:H because a man-in-the-middle position is required; PR:N/UI:N as no victim credentials or interaction are needed; C:H/I:H for credential disclosure and subscription tampering, A:N as availability is unaffected.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None

Lifecycle Timeline

4
POC Analysis Generated
Oct 01, 2026 - 19:23 vuln.today
Patch available
Oct 01, 2026 - 17:17 EUVD
Analysis Generated
Oct 01, 2026 - 17:05 vuln.today
CVE Published
Oct 01, 2026 - 16:32 cve.org
HIGH 7.4

DescriptionCVE.org

GraphQL Tools provides utilities for building, stitching, and mocking GraphQL schemas. Prior to 1.1.35, the executor-legacy-ws buildWSLegacyExecutor() function hardcodes TLS certificate rejection off for Node.js connections to wss:// endpoints. Applications using the executor directly, or url-loader with SubscriptionProtocol.LEGACY_WS, can therefore accept an attacker-controlled certificate when a network-positioned attacker intercepts the connection. Authentication material in connectionParams or headers can be disclosed, and subscription data can be modified. Browser WebSocket clients are unaffected because browsers enforce certificate validation. This issue is fixed in version 1.1.35.

AnalysisAI

TLS certificate validation is disabled by default in @graphql-tools/executor-legacy-ws prior to 1.1.35, where buildWSLegacyExecutor() hardcoded rejectUnauthorized: false, so Node.js applications using that executor directly or url-loader configured with SubscriptionProtocol.LEGACY_WS will blindly accept any certificate presented over wss://. An unauthenticated attacker who already holds a man-in-the-middle position on the network path can impersonate the GraphQL subscription endpoint, disclose authentication material carried in connectionParams or headers, and modify subscription data; the assessed CVSS 3.1 vector is AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N, with the MITM prerequisite driving the High attack complexity. …

Unlock full vulnerability intelligence

  • Risk assessment & exploitation conditions
  • Attack chain visualization
  • Remediation with exact patch versions
  • Threat intelligence from 22 sources
  • Personal watchlist & email alerts

No credit card · 7-day full trial

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata

Access
technique details hidden
Delivery
technique details hidden
Exploit
technique details hidden
Execution
technique details hidden
Impact
technique details hidden

Vulnerability AssessmentAI

Exploitation Exploitation requires ALL of the following: (1) the application runs on Node.js (browser WebSocket clients are explicitly unaffected because browsers enforce certificate validation); (2) the app uses buildWSLegacyExecutor() directly OR url-loader configured with SubscriptionProtocol.LEGACY_WS - the default/modern graphql-ws path is not implicated; (3) connections use wss:// (TLS); and (4) the attacker holds an active man-in-the-middle position on the network path to intercept the connection and present a forged certificate. … Additional conditions and limiting factors are described in the full assessment.
Risk Assessment This is a legitimate but conditional risk, not a drive-by critical. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in.
Exploit Scenario Full exploit scenario with step-by-step reproduction available after sign-in.
Remediation Upgrade to the vendor-released patch @graphql-tools/executor-legacy-ws 1.1.35 (and the corresponding @graphql-tools/url-loader patch from the same changeset), which flips the default to rejectUnauthorized: true and only permits an explicit opt-out; details are in GHSA-6fw5-9hq8-w87g (https://github.com/ardatan/graphql-tools/security/advisories/GHSA-6fw5-9hq8-w87g), PR https://github.com/ardatan/graphql-tools/pull/8426, commit https://github.com/ardatan/graphql-tools/commit/3831a0661514c91d99971052f983552556880402, and release https://github.com/ardatan/graphql-tools/releases/tag/@graphql-tools/executor-legacy-ws@1.1.35. … Detailed patch versions, workarounds, and compensating controls in full report.

Recommended ActionAI

Within 24 hours, inventory every Node.js application and transitive dependency that pulls in @graphql-tools/executor-legacy-ws, and flag any call path invoking buildWSLegacyExecutor() or url-loader configured with SubscriptionProtocol.LEGACY_WS; for those paths, immediately pass an explicit https.Agent with rejectUnauthorized: true (or an equivalent CA-verifying agent) into the executor and url-loader configuration so the hardcoded false default is overridden, and constrain outbound wss:// traffic to approved endpoint addresses and ports. …

Sign in for detailed remediation steps and compensating controls.

Threat intelligence, references, and detailed analysis are available after sign-in.

CVE-2024-41713 CRITICAL POC
9.1 Oct 21

A vulnerability in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab through 9.8 SP1 FP2 (9.8.1.201) could

CVE-2024-55591 CRITICAL POC
9.8 Jan 14

FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote

CVE-2023-44487 HIGH POC
7.5 Oct 10

Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour

CVE-2014-7205 CRITICAL POC
10.0 Oct 08

Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t

CVE-2025-59528 CRITICAL POC
10.0 Sep 22

Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete

CVE-2017-14849 HIGH POC
7.5 Sep 28

Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc

CVE-2017-5941 CRITICAL POC
9.8 Feb 09

An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner

CVE-2014-0224 HIGH POC
7.4 Jun 05

OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph

CVE-2014-3744 HIGH POC
7.5 Oct 23

Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi

CVE-2014-9566 HIGH POC
7.5 Mar 10

Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin

CVE-2013-4660 MEDIUM POC
6.8 Jun 28

The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, whic

CVE-2016-2107 MEDIUM POC
5.9 May 05

The AES-NI implementation in OpenSSL before 1.0.1t and 1.0.2 before 1.0.2h does not consider memory allocation during a

Share

CVE-2026-103921 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy