Patch Forecast
Amber warning
Patch this week.

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

GraphQL Tools: Per-request connection parameters persist into later users' WebSocket authentications

Risk score
64/100
CVSS
8.2 v4.0
Published
28 Oct 2026

Open in the live forecast Today's forecast

What to know

What it is
GraphQL Tools' legacy WebSocket executor package has a vulnerability where per-request connection parameters persist into later users' WebSocket authentications, allowing an attacker to authenticate as an earlier user. This can be exploited by sending an earlier caller's Authorization or tenant value in the connection_init payload.
Affected
{'products': ['GraphQL Tools'], 'packages': ['@graphql-tools/executor-legacy-ws'], 'versions': ['<= 1.1.35']}
Fix
Upgrade to version 1.1.36 or later
Exploitation
Public proof of concept

Story map

Story map: @graphql-tools/executor-legacy-wsTHE FLAWSTHE FIXCVE-2026-118665GraphQL Tools: Per-requestconnection parameters persistinto later users' WebSocket…CVSS 8.2CVE-2026-103921GraphQL Tools: TLS CertificateValidation Disabled in LegacyGraphQL WebSocket ExecutorCVSS 7.4 · EPSS 0%CVE-2026-118666GraphQL Tools: Shared legacyexecutor routes onesubscription's results to a…CVSS 6.0Upgrade…1.1.36 · 1.1.35or later on your release lineWho is exposed{'products': ['GraphQL Tools'],'packages':['@graphql-tools/executor-legacy-ws'], 'versions': ['<= 1.1.35']}AMBER · PATCH THIS WEEK@graphql-tools/executor-legacy-…GraphQL Tools' legacyWebSocket executor package hasa vulnerability whereper-request connectionparameters persist into laterusers' WebSocketauthentications, allowing an…Where it standsPublic proof of conceptCONNECTS TOSame weaknessCWE-613 (CWE-613)38 other warnings in 30 days →
Story map: the flaws, the fix, how it unfolded and what it connects to. Boxes link to the record or article.

At a glance

@graphql-tools/executor-legacy-ws: Amber, patch this week. GraphQL Tools' legacy WebSocket executor package has a vulnerability where per-request connection parameters persist into later users' WebSocket authentications, allowing an attacker to authenticate as an earlier user. This can be exploited by sending an earlier caller's Authorization or tenant value in the connection_init payload.

The flaws

  • CVE-2026-118665: GraphQL Tools: Per-request connection parameters persist into later users' WebSocket authentications (CVSS 8.2)
  • CVE-2026-103921: GraphQL Tools: TLS Certificate Validation Disabled in Legacy GraphQL WebSocket Executor (CVSS 7.4 · EPSS 0%)
  • CVE-2026-118666: GraphQL Tools: Shared legacy executor routes one subscription's results to a different caller (CVSS 6.0)

The fix

Upgrade @graphql-tools/executor-legacy-ws: 1.1.36 · 1.1.35 or later on your release line

Who is exposed: {'products': ['GraphQL Tools'], 'packages': ['@graphql-tools/executor-legacy-ws'], 'versions': ['<= 1.1.35']}

Where it stands

  • Public proof of concept

Connects to

Why it is Amber

  • CVSS 8.2 high
  • Public exploit or proof of concept referenced
  • Remotely exploitable without logging in
  • On your watchlist: npm

Affected packages

PackageEcosystemVulnerableFixed in
@graphql-tools/executor-legacy-wsnpm<= 1.1.351.1.36

References

Original 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 retains request.extensions.connectionParams in the closure-scoped executorConnectionParams object after cleanupWebsocket closes a connection. When one executor is reused across different authorization contexts, a later request that omits a sensitive key can send an earlier caller's Authorization or tenant value in its connection_init payload, causing the downstream server to authenticate the later caller as the earlier user. Applications that create a new executor for every request are not affected. This issue is fixed in version 1.1.36 of the GraphQL Tools legacy WebSocket executor package.

Last activity 28 Oct 2026. Patch Forecast updates every hour.