Packages / @apollo/gateway / Security

HighVulnerabilityGHSA-74cr-77xc-8g6rPublished 13 Jun 2019

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.2
2.x
  1. Not affected

    2.0.0 – 2.14.4

    99 releases, latest

0.x
  1. Affected

    0.1.0 – 0.6.1

    15 releases

  2. Fixed

    0.6.2 – 0.54.1

    137 releases

251 stable releases of @apollo/gateway, oldest to newest, one row per major.

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.