Description
Apollo Federation is an architecture for declaratively composing APIs into a unified graph. Prior to 2.9.6, 2.10.5, 2.11.6, 2.12.3, and 2.13.2, 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. This vulnerability is fixed in 2.9.6, 2.10.5, 2.11.6, 2.12.3, and 2.13.2.
CVSS breakdown
Affected products
- @apollo / federation-internals>= 2.13.0-preview.0, < 2.13.2 – >= 2.13.0-preview.0, < 2.13.2
- @apollo / federation-internals>= 2.12.0-preview.0, < 2.12.3 – >= 2.12.0-preview.0, < 2.12.3
- @apollo / federation-internals>= 2.11.0-preview.0, < 2.11.6 – >= 2.11.0-preview.0, < 2.11.6
- @apollo / federation-internals>= 2.10.0-alpha.0, < 2.10.5 – >= 2.10.0-alpha.0, < 2.10.5
- @apollo / federation-internals< 2.9.6 – < 2.9.6
- @apollo / gateway>= 2.13.0-preview.0, < 2.13.2 – >= 2.13.0-preview.0, < 2.13.2
- @apollo / gateway>= 2.12.0-preview.0, < 2.12.3 – >= 2.12.0-preview.0, < 2.12.3
- @apollo / gateway>= 2.11.0-preview.0, < 2.11.6 – >= 2.11.0-preview.0, < 2.11.6
- @apollo / gateway>= 2.10.0-alpha.0, < 2.10.5 – >= 2.10.0-alpha.0, < 2.10.5
- @apollo / gateway< 2.9.6 – < 2.9.6
- @apollo / query-planner>= 2.13.0-preview.0, < 2.13.2 – >= 2.13.0-preview.0, < 2.13.2
- @apollo / query-planner>= 2.12.0-preview.0, < 2.12.3 – >= 2.12.0-preview.0, < 2.12.3
- @apollo / query-planner>= 2.11.0-preview.0, < 2.11.6 – >= 2.11.0-preview.0, < 2.11.6
- @apollo / query-planner>= 2.10.0-alpha.0, < 2.10.5 – >= 2.10.0-alpha.0, < 2.10.5
- @apollo / query-planner< 2.9.6 – < 2.9.6