CVE-2026-103921 json
GraphQL Tools: TLS Certificate Validation Disabled in Legacy GraphQL WebSocket Executor
published last mo. modified last mo. also GHSA-6fw5-9hq8-w87g , EUVD-2026-90922
- cvss
- 7.4
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 19%
- public exploits
- 0
- none known
Summary
GraphQL Tools provides utilities for building, stitching, and mocking GraphQL schemas. Prior to 1.1.35, the executor-legacy-ws buildWSLegacyExecutor() function hardcodes TLS certificate rejection off for Node.js connections to wss:// endpoints. Applications using the executor directly, or url-loader with SubscriptionProtocol.LEGACY_WS, can therefore accept an attacker-controlled certificate when a network-positioned attacker intercepts the connection. Authentication material in connectionParams or headers can be disclosed, and subscription data can be modified. Browser WebSocket clients are unaffected because browsers enforce certificate validation. This issue is fixed in version 1.1.35.
Patch / fix
- npm @graphql-tools/executor-legacy-ws 1.1.35
Is CVE-2026-103921 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- last mo.
Exploit prediction
0.27% chance of exploitation in the next 30 days, higher than 19% of all scored CVEs (FIRST EPSS, 2026-11-09).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.4 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N |
| GitHub | 3.1 | 7.4 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | @graphql-tools/executor-legacy-ws | <1.1.35 |
1.1.35 |
Affected products
- ardatan graphql-tools
- @graphql-tools executor-legacy-ws
Classification
- Weakness
-
- CWE-295 Improper Certificate Validation
References
-
github.com
/ardatan/graphql-tools/pull/8426
web
-
github.com
/ardatan/graphql-tools/commit/3831a0661514c91d99971052f983552556880402
web
-
github.com
/ardatan/graphql-tools/security/advisories/GHSA-6fw5-9hq8-w87g
web
-
github.com
/ardatan/graphql-tools/releases/tag/@graphql-tools/executor-legacy-ws@1.1.35
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-103921
advisory
-
github.com
/ardatan/graphql-tools
package
Sources
- CVE List CVE-2026-103921
- GitHub Advisory GHSA-6fw5-9hq8-w87g
- NVD CVE-2026-103921
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.