Medium severity · published Oct 28, 2026
CVE-2026-118666
GraphQL Tools: Shared legacy executor routes one subscription's results to a different caller
New
6.0
CVSS
–
EPSS
No
On KEV
Description
GraphQL Tools provides utilities for building, stitching, and mocking GraphQL schemas. Prior to version 1.1.36 of the GraphQL Tools legacy WebSocket executor package, buildWSLegacyExecutor in packages/executors/legacy-ws/src/index.ts reuses one WebSocket and replaces its single websocket.onmessage handler whenever a new overlapping subscription starts. The handler delivers LEGACY_WS.DATA frames to the newest observer without comparing data.id with the subscription operation id, so a caller using the same executor can receive another user's authorized subscription payload while the earlier caller's stream is starved. This issue is fixed in version 1.1.36 of the GraphQL Tools legacy WebSocket executor package.
Exploitation
Is it being used?
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
EX
executor-legacy-ws · @graphql-tools
< 1.1.36 · source: vendor
GR
graphql-tools · ardatan
< 9.0.36 · source: vendor
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-118666
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-118666
github.com
https://github.com/ardatan/graphql-tools/commit/c2f226e6f68236be9e4a577f29faeaa92547458b
github.com
https://github.com/ardatan/graphql-tools/pull/8480
github.com
https://github.com/ardatan/graphql-tools/releases/tag/@graphql-tools/executor-legacy-ws@1.1.36
github.com
https://github.com/ardatan/graphql-tools/security/advisories/GHSA-mp66-8ww2-pcwm
More from executor-legacy-ws
8.2
CVE-2026-118665
GraphQL Tools: Per-request connection parameters persist into later users' WebSocket authentications
7.4
CVE-2026-103921
GraphQL Tools: TLS Certificate Validation Disabled in Legacy GraphQL WebSocket Executor
