8.2
HighCVSS 4.0 · from GitHub_M
CVE-2026-104852
GraphQL Tools has prototype pollution in well-established utility function `mergeDeep`
graphql-tools · Prototype pollution · CWE-1321Affectedgraphql-tools
FixNo fix listed yet.
PublishedOct 5, 22:56 · GitHub_M
ScoredOct 5 · 8.2 · GitHub_M
Exploit code publicNone known · checked 21:18 UTC
ExploitedNone known · CISA KEV checked 22:10 UTC
What we know
No known exploitation. CISA KEV, checked 22:10 UTC.
No public exploit code known. Exploit-DB, Metasploit, Nuclei, checked 21:18 UTC.
An attacker only needs network access to the target. No login needed. CVSS: network, no privileges.
It only works under certain conditions, which makes it harder to pull off. CVSS: high attack complexity.
A successful attack can take the service down. CVSS impact.
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.
From GitHub_M
Affected and fixed versions
ProductAffectedFixed ingraphql-tools< 12.0.1–
Exploit code
Exploit-DBnone knownMetasploitnone knownNucleinone known