# CVE-2026-118665: GraphQL Tools legacy WebSocket executor auth context isolation

Source: https://junglewise.ai/threats/cve-2026-118665-graphql-tools-provides-utilities-for-building-stitching-and  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-28. Updated: 2026-10-28  
License: CC BY 4.0 with a link back

CVE-2026-118665 · Severity: high · CVSS 4 · Published 2026-10-28

GraphQL Tools is a library for building and managing GraphQL schemas. When a single shared WebSocket executor is reused across multiple requests with different users, sensitive authentication credentials from an earlier caller's connection could leak to a later caller. This could allow an attacker to impersonate another user or intercept their subscription data.

Technologies: [@graphql-tools/executor-legacy-ws (npm)](https://junglewise.ai/threats/technologies/graphql-tools-executor-legacy-ws). Vendors: [npm](https://junglewise.ai/threats/vendors/npm).

## Quick answers

**Is CVE-2026-118665 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-118665 being exploited in the wild.

**How severe is CVE-2026-118665?** High severity, with a CVSS score of 4, published 28 October 2026.

**Which products and versions are affected?** Ardatan GraphQL Tools legacy WebSocket executor before 1.1.36; @graphql-tools/executor-legacy-ws (npm) <= 1.1.35, SEMVER:introduced=0,fixed=1.1.36.

**Is there a fix for CVE-2026-118665?** Yes. @graphql-tools/executor-legacy-ws (npm): upgrade to 1.1.36 or later. Until then: Create a new executor for each request instead of reusing a single shared executor across different authorization contexts. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-118665 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-118665?** Check whether you run Ardatan GraphQL Tools legacy WebSocket executor or @graphql-tools/executor-legacy-ws (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- @graphql-tools/executor-legacy-ws (npm): upgrade to 1.1.36 or later

  ```sh
  npm install @graphql-tools/executor-legacy-ws@1.1.36
  ```


Create a new executor for each request instead of reusing a single shared executor across different authorization contexts.

## Technical details

The buildWSLegacyExecutor function in the legacy WebSocket executor package retained request.extensions.connectionParams in a closure-scoped object across multiple executions, and failed to validate operation IDs when routing data frames. An attacker reusing a shared executor across authorization contexts can send a later request that omits sensitive keys but inherits them from a previous caller's connection_init payload, or receive subscription payloads intended for other operations. The fix isolates per-request authentication and enforces operation ID matching on all frames.

## Affected products

- ardatan GraphQL Tools legacy WebSocket executor before 1.1.36

## Identifiers

- CVE-2026-118665
- GHSA-434m-5hcj-pxf3

## Timeline

- 2026-10-28: disclosed
- 2026-10-01: patched

## References

- [https://github.com/ardatan/graphql-tools/commit/c2f226e6f68236be9e4a577f29faeaa92547458b](https://github.com/ardatan/graphql-tools/commit/c2f226e6f68236be9e4a577f29faeaa92547458b)
- [https://github.com/ardatan/graphql-tools/pull/8480](https://github.com/ardatan/graphql-tools/pull/8480)

## Related threats

- [GraphQL Tools legacy WebSocket executor data and auth isolation flaw](https://junglewise.ai/threats/cve-2026-118666-graphql-tools-provides-utilities-for-building-stitching-and)
- [GraphQL Tools executor-legacy-ws TLS certificate validation bypass](https://junglewise.ai/threats/cve-2026-103921-graphql-tools-provides-utilities-for-building-stitching-and)
