Packages / @apollo/gateway / Security
Prototype Pollution in @apollo/gateway
Affected releases · @apollo/gateway
- 0.6.x0.6.0 – 0.6.1Fixed in 0.6.2
- 0.5.x and older0.1.0 – 0.5.0No fix, no longer updated
On 0.6.x, the newest line:
npm install @apollo/gateway@0.6.2Not affected
2.0.0 – 2.14.4
99 releases, latest
Affected
0.1.0 – 0.6.1
15 releases
Fixed
0.6.2 – 0.54.1
137 releases
Is your project affected?
Paste your package.json, or type the range you declare for @apollo/gateway. It is read in your browser and sent nowhere.
What happens
Versions of @apollo/gateway prior to 0.6.2 are vulnerable to Prototype Pollution. The package uses deepMerge() to merge objects, which may allow attackers to alter the Object prototype through queries with GraphQL aliases. Carefully constructed payloads can override properties of all objects in the application. This may lead to Denial of Service or may be chained with other vulnerabilities leading to Remote Code Execution.
Recommendation
Upgrade to version 0.6.2 or later.