Skip to content
OpenAdvisories
High · 8.4 CVE-2026-114604 EUVD-2026-117792GHSA-c4qx-w738-7hr3

GraphQL Tools: Prototype pollution in mergeIncrementalResult via non-primitive path segments

Published Nov 5, 2026 · Updated Nov 9, 2026 · Assigned by GitHub_M

Description

GraphQL Tools provides utilities for building, stitching, and mocking GraphQL schemas. From 10.10.1 until 12.0.2, the @graphql-tools/utils mergeIncrementalResult helper passes incrementalResult.path segments to setObjectKeyPath without runtime primitive-type validation. A non-primitive segment can bypass strict comparisons against __proto__, constructor, and prototype, then be coerced during property access so a malicious or compromised upstream incremental GraphQL response writes attacker-controlled properties to Object.prototype in the consuming Node.js process. The affected implementation is packages/utils/src/mergeIncrementalResult.ts and is reachable when consumers merge untrusted @defer or @stream transport results. This issue is fixed in version 12.0.2.

Affected products

VendorProductAffectedFixed
ardatan graphql-tools >= 10.10.1, < 12.0.2 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
openSUSE Tumbleweed git-bug 0.11.0-4.1 openSUSE-SU-2026:12429-1

Affected packages

EcosystemPackageAffectedFixedRecord
npm @graphql-tools/utils >= 10.10.1, < 12.0.2 12.0.2 GHSA-c4qx-w738-7hr3

Advisories 1

References