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.
Published: 2026-10-05
Score: 8.2 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service via prototype pollution
Action: Patch
AI Analysis

Impact

The vulnerability exists in the mergeDeep function of the GraphQL Tools utilities package. This function recursively merges source objects and does not filter out keys that target Object and Function prototypes, such as __proto__, constructor, or prototype. An attacker can alias GraphQL fields to these names in a query, causing mergeDeep during normal schema stitching or supergraph result merging to overwrite Function.prototype.call. The result is that the GraphQL server becomes unable to process subsequent requests until it is restarted, leading to a service disruption. The attack does not grant arbitrary code execution under the stated conditions; it primarily causes denial of service by corrupting the prototype chain.

Affected Systems

Affected systems are deployments that employ the ardatan GraphQL Tools utilities package @graphql-tools/utils prior to version 12.0.1. Any GraphQL server or gateway that incorporates this utilities library for schema stitching, stitching, or result merging is vulnerable.

Risk and Exploitability

The CVSS score of 8.2 indicates a high severity for service disruption. The exploit is unauthenticated and can be triggered from any GraphQL client that can send a query containing field aliases such as __proto__. The EPSS score of <1% signals a very low probability of exploitation in the wild, but the lack of an authentication requirement means attackers could still target the server repeatedly. The vulnerability is not listed in CISA KEV, yet its high impact warrants immediate attention. Attackers could continuously target the server with maliciously crafted queries to induce repeated downtime, although no direct remote code execution is reported.

Generated by OpenCVE AI on October 7, 2026 at 07:37 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the GraphQL Tools utilities package to version 12.0.1 or later.
  • If an immediate upgrade is not feasible, configure the server to detect and reject queries that contain alias names that target Object or Function prototype properties such as __proto__, constructor, or prototype.
  • After applying the patch or implementing temporary filtering, restart the GraphQL server to clear any corrupted prototypes and restore normal operation.

Generated by OpenCVE AI on October 7, 2026 at 07:37 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-7mx3-vvmw-hjmv GraphQL Tools has prototype pollution in well-established utility function `mergeDeep`
History

Wed, 07 Oct 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-915
References
Metrics threat_severity

None

cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Important


Tue, 06 Oct 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 06 Oct 2026 00:45:00 +0000

Type Values Removed Values Added
First Time appeared Ardatan
Ardatan graphql-tools
Vendors & Products Ardatan
Ardatan graphql-tools

Mon, 05 Oct 2026 23:00:00 +0000

Type Values Removed Values Added
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.
Title GraphQL Tools has prototype pollution in well-established utility function `mergeDeep`
Weaknesses CWE-1321
References
Metrics cvssV4_0

{'score': 8.2, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

Ardatan Graphql-tools
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-06T14:48:02.114Z

Reserved: 2026-10-02T14:38:43.244Z

Link: CVE-2026-104852

cve-icon Vulnrichment

Updated: 2026-10-06T14:35:29.155Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-05T23:17:00.213

Modified: 2026-10-06T15:17:13.110

Link: CVE-2026-104852

cve-icon Redhat

Severity : Important

Publid Date: 2026-10-05T22:56:43Z

Links: CVE-2026-104852 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-07T07:45:14Z

Weaknesses
  • CWE-1321

    Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')

  • CWE-915

    Improperly Controlled Modification of Dynamically-Determined Object Attributes