Loading...
Skip to main content

CVE-2026-32621 — Vulnerability in @apollo/query-planner — CVE Details

CRITICAL

Apollo Federation vulnerable to prototype pollution via incomplete key sanitization

Published March 13, 2026Updated March 19, 2026Source: osv

Summary

### Impact A vulnerability exists in query plan execution within the gateway that may allow pollution of `Object.prototype` in certain scenarios. A malicious client may be able to pollute `Object.prototype` in gateway directly by crafting operations with field aliases and/or variable names that target prototype-inheritable properties. Alternatively, if a subgraph were to be compromised by a malicious actor, they may be able to pollute `Object.prototype` in gateway by crafting JSON response payloads that target prototype-inheritable properties. Because `Object.prototype` is shared across the Node.js process, successful exploitation can affect subsequent requests to the gateway instance. This may result in unexpected application behavior, privilege escalation, data integrity issues, or other security impact depending on how polluted properties are subsequently consumed by the application or its dependencies. As of the date of this advisory, Apollo is not aware of any reported exploitation of this vulnerability. ### Patches Mitigations addressing prototype pollution exposure have been applied in `@apollo/federation-internals`, `@apollo/gateway`, and `@apollo/query-planner` versions `2.9.6`, `2.10.5`, `2.11.6`, `2.12.3`, and `2.13.2`. Users are encouraged to upgrade to these versions or later at their earliest convenience. ### Workarounds A fully effective workaround is not available without a code change. As an interim measure, users who are unable to upgrade immediately may consider placing an input validation layer in front of the gateway to filter operations containing [GraphQL names](https://spec.graphql.org/September2025/#sec-Names) matching known `Object.prototype` pollution patterns (e.g., `__proto__`, `constructor`, `prototype`). Users should also ensure that subgraphs in their federated graph originate from trusted sources.

Advisory Timeline

  • First published March 13, 2026 (213 days ago).
  • Last revised March 19, 2026 — 6 days after initial publication.

Remediation

Upgrade to the fixed version using your package manager.

npm
Update @apollo/query-planner to 2.12.3 or later
npm install @apollo/query-planner@2.12.3
npm
Update @apollo/gateway to 2.11.6 or later
npm install @apollo/gateway@2.11.6
npm
Update @apollo/gateway to 2.12.3 or later
npm install @apollo/gateway@2.12.3
npm
Update @apollo/federation-internals to 2.10.5 or later
npm install @apollo/federation-internals@2.10.5
npm
Update @apollo/query-planner to 2.9.6 or later
npm install @apollo/query-planner@2.9.6
npm
Update @apollo/query-planner to 2.10.5 or later
npm install @apollo/query-planner@2.10.5
npm
Update @apollo/query-planner to 2.13.2 or later
npm install @apollo/query-planner@2.13.2
npm
Update @apollo/federation-internals to 2.13.2 or later
npm install @apollo/federation-internals@2.13.2
npm
Update @apollo/federation-internals to 2.9.6 or later
npm install @apollo/federation-internals@2.9.6
npm
Update @apollo/federation-internals to 2.11.6 or later
npm install @apollo/federation-internals@2.11.6
npm
Update @apollo/federation-internals to 2.12.3 or later
npm install @apollo/federation-internals@2.12.3
npm
Update @apollo/gateway to 2.10.5 or later
npm install @apollo/gateway@2.10.5
npm
Update @apollo/gateway to 2.13.2 or later
npm install @apollo/gateway@2.13.2
npm
Update @apollo/query-planner to 2.11.6 or later
npm install @apollo/query-planner@2.11.6
npm
Update @apollo/gateway to 2.9.6 or later
npm install @apollo/gateway@2.9.6

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (15)

Affects 1 ecosystem: npm (3).

PackageEcosystemAffectedFixed In
@apollo/query-planner
npm
All versions2.12.3
@apollo/gateway
npm
All versions2.11.6
@apollo/gateway
npm
All versions2.12.3
@apollo/federation-internals
npm
All versions2.10.5
@apollo/query-planner
npm
All versions2.9.6
@apollo/query-planner
npm
All versions2.10.5
@apollo/query-planner
npm
All versions2.13.2
@apollo/federation-internals
npm
All versions2.13.2
@apollo/federation-internals
npm
All versions2.9.6
@apollo/federation-internals
npm
All versions2.11.6
@apollo/federation-internals
npm
All versions2.12.3
@apollo/gateway
npm
All versions2.10.5
@apollo/gateway
npm
All versions2.13.2
@apollo/query-planner
npm
All versions2.11.6
@apollo/gateway
npm
All versions2.9.6

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

  • CWE-1321
    Prototype PollutionMITRE

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 9.9 score means for each attack dimension.

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
Low

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:L

Frequently Asked Questions

What is CVE-2026-32621?
Apollo Federation vulnerable to prototype pollution via incomplete key sanitization This vulnerability has been assigned a severity rating of CRITICAL (CVSS score: 9.9/10).
How do I check if my project is affected by CVE-2026-32621?
CVE-2026-32621 affects @apollo/query-planner, @apollo/gateway and @apollo/federation-internals. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2026-32621 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
9.9

Exploitation is straightforward and causes maximum impact. Patch immediately.

Also Known As

GHSA-pfjj-6f4p-rvmh

Related CVEs

  • CVE-2026-107722
    CRITICAL

    fast-jwt: Incomplete patch of CVE-2026-34950: Non-whitespace key-prefix re-enables RSA→HS256 algorithm confusion

  • CVE-2026-108261
    CRITICAL

    TinaCMS admin preview iframe loads an attacker-controlled origin from the URL fragment

  • CVE-2024-43414
    HIGH

    Apollo Query Planner and Apollo Gateway may infinitely loop on sufficiently complex queries

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies