Vulnerability GHSA-6fw5-9hq8-w87g

High Risk
HIGH RISK
CVSS Score: 7.4
Score Range: 7.0–8.9
High severity vulnerabilities (CVSS 7.0–8.9). Serious vulnerabilities that should be prioritized soon after critical fixes.
8 hours ago
October 05, 2026 at 10:56 PM UTC
GraphQL Tools: TLS Certificate Validation Disabled in Legacy GraphQL WebSocket Executor
0.0.1-alpha-20221108142800-3beb5fe2 - 1.1.35-rc-20260908112455-501eab0b35c6e76223e7ed3d60d6e26c72127f1a
0.0.1-alpha-20221108142800-3beb5fe2 - 1.1.35-rc-20260908112455-501eab0b35c6e76223e7ed3d60d6e26c72127f1a

Summary

GraphQL Tools: TLS Certificate Validation Disabled in Legacy GraphQL WebSocket Executor

Details

Impact

buildWSLegacyExecutor() in @graphql-tools/executor-legacy-ws previously hardcoded rejectUnauthorized: false when creating WebSocket connections over WSS. This disabled TLS certificate validation, allowing a network-positioned attacker to perform a Man-in-the-Middle (MITM) attack against applications that use this executor with a wss:// endpoint. Credentials passed via connectionParams or headers could be intercepted, and subscription data could be tampered with.

Who is impacted: Applications using @graphql-tools/executor-legacy-ws (directly or via @graphql-tools/url-loader with SubscriptionProtocol.LEGACY_WS) to connect to a wss:// endpoint from Node.js while sending authentication material over the connection.

Browser WebSocket clients are unaffected by this option (browsers always validate certificates).

Patches

Upgrade to @graphql-tools/[email protected] or later (and @graphql-tools/[email protected] or later if you use the loader). TLS certificate validation is enabled by default. Callers that intentionally use self-signed certificates in trusted environments can opt out with rejectUnauthorized: false.

Workarounds

  • Prefer the modern graphql-ws / SubscriptionProtocol.WS path where possible.
  • Until upgraded, avoid sending secrets over legacy WSS connections, or terminate TLS at a trusted proxy and use ws:// only on trusted networks.
  • Supply a custom webSocketImpl that enforces certificate validation.

Timeline

Published
8 hours ago
October 05, 2026 at 10:56 PM UTC
Fixed (1.1.35)
Unknown
Unknown
Last Modified
8 hours ago
October 05, 2026 at 11:15 PM UTC