High severity · published Oct 5, 2026
CVE-2026-104852
GraphQL Tools has prototype pollution in well-established utility function `mergeDeep`
8.2
CVSS
0.4%
EPSS
No
On KEV
Description
GraphQL Tools provides utilities for building, stitching, and mocking GraphQL schemas. Prior to 12.0.1, the GraphQL Tools utils package's mergeDeep function follows inherited properties while recursively merging source objects and does not exclude __proto__, constructor, or prototype keys. An unauthenticated GraphQL client can alias fields to those names so responses from two subgraphs collide during ordinary supergraph result merging, causing mergeDeep to traverse Object and Function prototypes and overwrite Function.prototype.call with a subgraph-supplied value. This breaks subsequent requests in the process until restart. This issue is fixed in version 12.0.1.
Exploitation
Is it being used?
Exploit prediction (EPSS)0.4% · higher than 29% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
GR
graphql-tools · ardatan
< 12.0.1 · source: vendor
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-104852
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-104852
x_refsource_CONFIRM
https://github.com/ardatan/graphql-tools/security/advisories/GHSA-7mx3-vvmw-hjmv
x_refsource_MISC
https://github.com/ardatan/graphql-tools/pull/8423
x_refsource_MISC
https://github.com/graphql-hive/gateway/pull/2600
x_refsource_MISC
https://github.com/ardatan/graphql-tools/commit/0b9529f1988fd36186a7c106a6efe0356f1b7f2e
x_refsource_MISC
https://github.com/ardatan/graphql-tools/releases/tag/@graphql-tools/utils@12.0.1
More from graphql-tools
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
6.0
CVE-2026-118666
GraphQL Tools: Shared legacy executor routes one subscription's results to a different caller
