Threat Advisory

Legacy WebSocket Executor in GraphQL Tools Leaks Subscription Data and Authorization

Threat: Vulnerability
Targeted Region: Global
Targeted Sector: Technology & IT
Criticality: High
[subscribe_to_unlock_form]

EXECUTIVE SUMMARY:

Multiple security vulnerabilities have been identified in the GraphQL Tools legacy WebSocket executor, affecting versions up to 1.1.35. The flaws involve shared executor state used for subscription delivery and connection authentication, allowing one caller to receive another caller’s subscription results or to inherit retained connection parameters in later WebSocket handshakes. The overall risk is cross-tenant data exposure and unauthorized access to downstream GraphQL subscription data when a single executor is reused across untrusted requests.

CVE-2026-118666 (CVSS 6.0 — Medium): The legacy WebSocket executor can misroute subscription results when one executor instance is reused for overlapping subscriptions. An attacker who can start a subscription through the same shared executor while another caller’s subscription is active can receive that caller’s payloads, while the original caller stops receiving its own events.[/subscribe_to_unlock_form]

EXECUTIVE SUMMARY:

Multiple security vulnerabilities have been identified in the GraphQL Tools legacy WebSocket executor, affecting versions up to 1.1.35. The flaws involve shared executor state used for subscription delivery and connection authentication, allowing one caller to receive another caller’s subscription results or to inherit retained connection parameters in later WebSocket handshakes. The overall risk is cross-tenant data exposure and unauthorized access to downstream GraphQL subscription data when a single executor is reused across untrusted requests.

CVE-2026-118666 (CVSS 6.0 — Medium): The legacy WebSocket executor can misroute subscription results when one executor instance is reused for overlapping subscriptions. An attacker who can start a subscription through the same shared executor while another caller’s subscription is active can receive that caller’s payloads, while the original caller stops receiving its own events.[emaillocker id="1283"]

CVE-2026-118665 (CVSS 8.2 — High): The legacy WebSocket executor retains per-request connection parameters in shared state and can replay them in a later caller’s initial connection message. An attacker who can make a request through a shared executor after another user has supplied credentials can have that later request authenticated with the earlier user’s retained parameters, even if the attacker supplies no credentials or only partial parameters.

These vulnerabilities collectively present a high risk of cross-tenant data exposure and unauthorized downstream access when a shared executor is used for multiple callers. The most at-risk deployments are gateways, stitched schemas, or other services that reuse one executor across untrusted requests. They should review how subscription delivery and connection authentication state are isolated between callers.

RECOMMENDATION:

We recommend you to update @graphql-tools/executor-legacy-ws to version 1.1.36.

REFERENCES:

The following reports contain further technical details:

[/emaillocker]
crossmenu