CVE-2026-32621 Overview
A critical prototype pollution vulnerability exists in Apollo Federation's query plan execution within the gateway component. This vulnerability allows attackers to pollute Object.prototype through crafted GraphQL operations, potentially leading to severe security compromises across the entire application. The flaw affects the way field aliases and variable names are processed, enabling malicious clients or compromised subgraphs to inject prototype-inheritable properties.
Critical Impact
Attackers can pollute Object.prototype in the Apollo Federation gateway through maliciously crafted GraphQL operations or compromised subgraph responses, potentially enabling remote code execution, authentication bypass, or denial of service.
Affected Products
- Apollo Federation versions prior to 2.9.6
- Apollo Federation versions 2.10.x prior to 2.10.5
- Apollo Federation versions 2.11.x prior to 2.11.6
- Apollo Federation versions 2.12.x prior to 2.12.3
- Apollo Federation versions 2.13.x prior to 2.13.2
Discovery Timeline
- 2026-03-16 - CVE-2026-32621 published to NVD
- 2026-03-16 - Last updated in NVD database
Technical Details for CVE-2026-32621
Vulnerability Analysis
This vulnerability is classified as CWE-1321 (Improperly Controlled Modification of Object Prototype Attributes), commonly known as prototype pollution. In JavaScript, all objects inherit properties from Object.prototype. When an application improperly handles user-controlled input that can modify this base prototype, attackers can inject malicious properties that propagate to all objects in the application.
The Apollo Federation gateway processes GraphQL queries and coordinates responses from multiple subgraphs. During query plan execution, the gateway fails to properly sanitize field aliases and variable names, allowing attackers to target prototype-inheritable properties such as __proto__, constructor, or prototype.
Two distinct attack vectors exist: a direct attack where a malicious client crafts GraphQL operations with specially named field aliases or variables, and an indirect attack where a compromised subgraph returns malicious JSON response payloads targeting these same prototype properties.
Root Cause
The root cause lies in insufficient input validation during query plan execution. When processing GraphQL operations, the gateway dynamically assigns properties to JavaScript objects based on field aliases and variable names without adequately checking whether these names correspond to prototype-inheritable properties. This allows attackers to inject properties that affect the behavior of all objects within the gateway's JavaScript runtime environment.
Attack Vector
The attack can be executed remotely over the network by authenticated clients with minimal privileges. Attackers can craft GraphQL queries containing field aliases such as __proto__ or variables designed to pollute the object prototype. The attack requires no user interaction and can affect resources beyond the original security scope, as prototype pollution can impact all objects in the JavaScript runtime.
For example, an attacker could structure a GraphQL query with an alias targeting __proto__.isAdmin set to true, potentially bypassing authorization checks throughout the application. Alternatively, a compromised subgraph could return JSON responses with __proto__ properties that get merged into gateway objects during response processing.
Technical details and proof-of-concept information may be found in the GitHub Security Advisory.
Detection Methods for CVE-2026-32621
Indicators of Compromise
- GraphQL queries containing field aliases or variable names with prototype-related strings such as __proto__, constructor, or prototype
- Unexpected properties appearing on JavaScript objects that were not explicitly defined
- Subgraph responses containing JSON payloads with __proto__ or constructor keys
- Anomalous authorization behavior or privilege escalation incidents
Detection Strategies
- Implement GraphQL query inspection to detect and block operations containing potentially malicious field aliases or variable names
- Monitor application logs for unusual prototype-related property access patterns
- Deploy Web Application Firewall (WAF) rules to filter GraphQL requests containing prototype pollution payloads
- Utilize runtime application self-protection (RASP) solutions to detect and prevent prototype modifications
Monitoring Recommendations
- Enable detailed logging for all GraphQL operations processed by the Apollo Federation gateway
- Set up alerts for requests containing __proto__, constructor, or prototype in query parameters
- Monitor for unexpected changes in application behavior that could indicate successful prototype pollution
- Review subgraph response payloads for suspicious JSON structures
How to Mitigate CVE-2026-32621
Immediate Actions Required
- Upgrade Apollo Federation to the patched versions: 2.9.6, 2.10.5, 2.11.6, 2.12.3, or 2.13.2 depending on your current version branch
- Review and audit all subgraph connections for potential compromise
- Implement input validation to reject GraphQL operations containing prototype-related field aliases or variable names
- Consider temporarily restricting access to the GraphQL endpoint until patches are applied
Patch Information
Apollo has released security patches across all supported version branches. Organizations should upgrade to the following fixed versions based on their current deployment:
| Current Branch | Patched Version |
|---|---|
| 2.9.x | 2.9.6 |
| 2.10.x | 2.10.5 |
| 2.11.x | 2.11.6 |
| 2.12.x | 2.12.3 |
| 2.13.x | 2.13.2 |
For complete patch details and upgrade instructions, refer to the GitHub Security Advisory.
Workarounds
- Implement a GraphQL middleware layer that validates and sanitizes field aliases and variable names before they reach the gateway
- Use Object.freeze() on Object.prototype at application startup to prevent modifications (note: this may affect legitimate application functionality)
- Deploy a reverse proxy or API gateway with rules to block requests containing prototype pollution patterns
- Isolate the Apollo Federation gateway in a containerized environment to limit the blast radius of potential exploitation
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

