CVE-2026-104852 json
GraphQL Tools has prototype pollution in well-established utility function `mergeDeep`
published 2026-10-05 34 d ago modified 2026-10-06 33 d ago also GHSA-7mx3-vvmw-hjmv , EUVD-2026-92849
- cvss
- 8.2
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 39%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- npm @graphql-tools/utils 12.0.1
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-104852 updated cvss 7.5
@graphql-tools/utils: @graphql-tools/utils: Denial of Service (DoS) via prototype pollution in mergeDeep
-
Red Hat OpenShift Container Platform 4 openshift4/ose-console, openshift4/ose-console-rhel9 Red Hat Self-service automation portal 2 ansible-automation-platform/automation-portalaffected: workaround, no fix available
-
Red Hat OpenShift AI 3.5 rhoai/odh-mlflow-rhel9 1791947857fixed: vendor fix RHSA-2026:86891
-
Red Hat Developer Hub 1 rhdh/rhdh-hub-rhel9, rhdh/red-hat-developer-hub-backstage-plugin-orchestrator-backendnot affected: vulnerable code not in execute path
-
Red Hat OpenShift AI 3.5 rhoai/odh-cli-rhel9 1791945905, rhoai/rhai-cli-rhel9 1791945905, rhoai/odh-automl-rhel9 1791916705, rhoai/odh-autorag-rhel9 1791903266, rhoai/odh-trainer-rhel9 1791952138, rhoai/odh-core-bff-rhel9 1791945789, +112 morenot affected: vulnerable code not present
-
Red Hat OpenShift Container Platform 5 openshift5/ose-console-rhel9not affected: component not present
-
Red Hat Self-service automation portal 2 ansible-automation-platform/bootc-automation-portal-rhel9not affected: vulnerable code not in execute path
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 33 d ago
Exploit prediction
0.45% chance of exploitation in the next 30 days, higher than 39% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 8.2 | 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 |
| CNA | 4.0 | 8.2 | 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | @graphql-tools/utils | <12.0.1 |
12.0.1 |
Affected products
- ardatan graphql-tools
Classification
- Weakness
-
- CWE-1321 Improperly Controlled Modification of Object Prototype Attributes
References
-
github.com
/ardatan/graphql-tools/pull/8423
web
-
github.com
/graphql-hive/gateway/pull/2600
web
-
github.com
/ardatan/graphql-tools/commit/0b9529f1988fd36186a7c106a6efe0356f1b7f2e
web
-
github.com
/ardatan/graphql-tools/security/advisories/GHSA-7mx3-vvmw-hjmv
web
-
github.com
/ardatan/graphql-tools/releases/tag/@graphql-tools/utils@12.0.1
web
-
github.com
/ardatan/graphql-tools
package
Sources
- CVE List CVE-2026-104852
- GitHub Advisory GHSA-7mx3-vvmw-hjmv
- NVD CVE-2026-104852
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.