{"description":"Trending threats, MITRE ATT\u0026CK coverage, and detection metadata. Fed continuously.","favicon":"https://feed.craftedsignal.io/favicon-32x32.png","feed_url":"https://feed.craftedsignal.io/cpes/cpe2.3athe-guildgraphql-tools/feed.json","home_page_url":"https://feed.craftedsignal.io/","icon":"https://feed.craftedsignal.io/apple-touch-icon.png","items":[{"_cs_actors":[],"_cs_cpes":["cpe:2.3:a:the-guild:graphql-tools:*:*:*:*:*:*:*:*"],"_cs_cves":[{"id":"CVE-2026-104852"}],"_cs_exploited":false,"_cs_has_poc":false,"_cs_poc_references":[],"_cs_products":["@graphql-tools/utils (\u003c= 12.0.0)"],"_cs_severities":["medium"],"_cs_tags":["vulnerability","denial-of-service","javascript","graphql"],"_cs_type":"advisory","_cs_vendors":["The Guild"],"content_html":"\u003cp\u003eThe package @graphql-tools/utils (versions 12.0.0 and earlier) contains a critical prototype pollution vulnerability in its \u003ccode\u003emergeDeep\u003c/code\u003e utility function, tracked as CVE-2026-104852. This vulnerability is triggered when a supergraph gateway, utilizing this utility for result merging, processes a malicious GraphQL query containing aliased fields such as \u003ccode\u003e__proto__\u003c/code\u003e, \u003ccode\u003econstructor\u003c/code\u003e, or \u003ccode\u003eprototype\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eBecause the \u003ccode\u003emergeDeep\u003c/code\u003e function recursively traverses inherited properties, an attacker can coerce the merge logic to traverse into core JavaScript object prototypes. By supplying crafted subgraph responses, the attacker can overwrite critical built-in properties like \u003ccode\u003eFunction.prototype.call\u003c/code\u003e. This action corrupts the Node.js process environment, resulting in a persistent denial-of-service condition that impacts all subsequent requests until the service is restarted. This is a highly accessible vector as it requires only a single unauthenticated query against any gateway performing standard subgraph object merging.\u003c/p\u003e\n\u003ch2 id=\"impact\"\u003eImpact\u003c/h2\u003e\n\u003cp\u003eThe vulnerability results in a total denial-of-service for the affected GraphQL gateway. Because the exploitation modifies core language primitives in the Node.js process memory, the crash is process-wide and persistent. Successful exploitation halts the processing of all incoming traffic, affecting services that rely on federated GraphQL schemas, such as Hive Gateway.\u003c/p\u003e\n\u003ch2 id=\"recommendation\"\u003eRecommendation\u003c/h2\u003e\n\u003cp\u003ePrioritized actions for engineering and security teams:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade @graphql-tools/utils to a version beyond 12.0.0 immediately to include the patch implemented in PR #8423.\u003c/li\u003e\n\u003cli\u003eIf using Hive Gateway, upgrade to the version incorporating the mitigation in PR #2600.\u003c/li\u003e\n\u003cli\u003eImplement request validation to filter or block GraphQL queries containing aliases targeting reserved JavaScript object keys such as \u003ccode\u003e__proto__\u003c/code\u003e, \u003ccode\u003econstructor\u003c/code\u003e, or \u003ccode\u003eprototype\u003c/code\u003e in field selection sets.\u003c/li\u003e\n\u003c/ul\u003e\n","date_modified":"2026-10-06T00:46:11Z","date_published":"2026-10-06T00:46:11Z","id":"https://feed.craftedsignal.io/briefs/2026-10-graphql-tools-prototype-pollution/","summary":"An unauthenticated remote denial-of-service vulnerability in @graphql-tools/utils allows attackers to crash node processes via prototype pollution in the mergeDeep utility function.","title":"Prototype Pollution in @graphql-tools/utils","url":"https://feed.craftedsignal.io/briefs/2026-10-graphql-tools-prototype-pollution/"}],"language":"en","title":"CraftedSignal Threat Feed - Cpe:2.3:a:the-Guild:graphql-Tools:*:*:*:*:*:*:*:*","version":"https://jsonfeed.org/version/1.1"}