CVE-2026-114604

Description

A flaw was found in @graphql-tools/utils. A remote attacker or compromised upstream GraphQL service can exploit this vulnerability by supplying crafted incremental response path segments during streaming or deferred GraphQL operations. Because the helper function fails to validate data types before checking property names, malicious values can bypass safety checks. This allows an attacker to modify global object properties (prototype pollution), potentially leading to application denial of service (DoS), configuration tampering, or unauthorized privilege escalation.

Statement

This vulnerability is rated as having an Important severity because successful exploitation allows a remote attacker or untrusted upstream service to inject properties into the global Object prototype, which can alter application logic, bypass authorization controls, or disrupt the Node.js runtime process. In Red Hat environments, the exposure is largely constrained to applications that utilize GraphQL Tools to aggregate or merge streaming or deferred response fragments from untrusted origins. If the service only communicates with fully trusted internal subgraphs or does not implement incremental delivery features, the risk of prototype tampering is significantly reduced.

Mitigation

Mitigation for this issue is either not available or the currently available options do not meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base, or stability.

--- CME Mitigation Guidance (2026-11-06) ---
Disclaimer: The following mitigation solutions are provided as a courtesy, pending the application of an official patch. This content was generated utilizing AI tools in conjunction with data from https://cmetaxonomy.org. Customers are advised to independently evaluate and test these temporary mitigations within their own infrastructure.

The highest-value action is to enforce runtime primitive-type validation and dangerous-key checks on all incremental response path segments prior to object traversal and assignment in mergeIncrementalResult: upgrade to @graphql-tools/utils 12.0.2, which validate upfront that all path segments are primitive strings or numbers and reject dangerous keys such as __proto__, constructor, and prototype before traversal, closing all 2 injection vectors (non-primitive path segments coercing to __proto__, crafted incremental response path segments). Until patched, this is only a concern on Node.js applications merging untrusted incremental GraphQL (@defer or @stream) responses using @graphql-tools/utils — applications only communicating with fully trusted internal subgraphs or not implementing incremental delivery features are unaffected — so avoid merging incremental responses from untrusted or unauthenticated upstream GraphQL sources, or freeze Object.prototype. As a compensating measure, validate the schema of parsed incremental GraphQL responses to ensure path segments conform strictly to expected primitive types and enforce an allowlist on permitted path segment data types to reject crafted non-primitive objects before processing. These controls limit blast radius and contain exploitation, but they do not fix the underlying prototype pollution defect — apply the upstream patch to fully remediate.

Highest-impact CME: CME-1314 Input Canonicalization Before Security Decision (high)

Common Vulnerability Scoring System (CVSS) Score Details

Info alert:Important note

CVSS scores for open source components depend on vendor-specific factors (e.g. version or build chain). Therefore, Red Hat's score and impact rating can be different from NVD and other vendors. Red Hat remains the authoritative CVE Naming Authority (CNA) source for its products and services (see Red Hat classifications).

The following CVSS metrics and score provided are preliminary and subject to review.

CVSS v3 Score Breakdown

Red HatNVDcve.org
Base Score7.3N/AN/A
Attack VectorNetworkN/AN/A
Attack ComplexityLowN/AN/A
Privileges RequiredNoneN/AN/A
User InteractionNoneN/AN/A
ScopeUnchangedN/AN/A
ConfidentialityLowN/AN/A
Integrity ImpactLowN/AN/A
Availability ImpactLowN/AN/A

Vector

Red Hat: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L

Understanding the Weakness (CWE)

Integrity

Technical Impact: Modify Application Data

An attacker could modify sensitive data or program variables.

Integrity

Technical Impact: Execute Unauthorized Code or Commands

Other,Integrity

Technical Impact: Varies by Context; Alter Execution Logic

Frequently Asked Questions

Want to get errata notifications? Sign up here.