GitHub Advisoryadvisory · crates.io
GHSA-r344-xw3p-2frj Apollo Router vulnerable to Improper Check or Handling of Exceptional Conditions
HIGH
Official page ↗
- Aliases
- CVE-2023-45812
- Ecosystem
- crates.io
- Packages
- apollo-router
- Severity
- High
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- Weaknesses
- CWE-703, CWE-754
- Reviewed
- 2023-10-19
Affected packages
• crates.io apollo-router: >= 1.31.0, < 1.33.0 → fixed in 1.33.0
Description
Impact
The Apollo Router is a configurable, high-performance graph router written in Rust to run a federated supergraph that uses Apollo Federation. Affected versions are subject to a Denial-of-Service (DoS) type vulnerability which causes the Router to panic and terminate when a multi-part response is sent. When users send queries to the router that uses the `@defer` or Subscriptions, the Router will panic.
To be vulnerable, users of Router must have a coprocessor with `coprocessor.supergraph.response` configured in their `router.yaml` and also to support either `@defer` or Subscriptions.
Patches
Router version 1.33.0 has a fix for this vulnerability. https://github.com/apollographql/router/pull/4014 fixes the issue.
Workarounds
For affected versions, avoid using the coprocessor supergraph response:
```yml
do not use this stage in your coprocessor configuration
coprocessor:
supergraph:
response:
```
Or you can disable defer and subscriptions support:
```yml
disable defer and subscriptions:
supergraph:
defer_support: false # enabled by default
subscription:
enabled: false # disabled by default
```
and continue to use the coprocessor supergraph response.
References
https://github.com/apollographql/router/issues/4013
Related
Alias · CVE (1)
- CVE-2023-45812 The Apollo Router is a configurable, high-performance graph router written in Rust to run a federated supergraph that uses Apollo… vulnerability
References
- https://github.com/apollographql/router/security/advisories/GHSA-r344-xw3p-2frj web
- https://nvd.nist.gov/vuln/detail/CVE-2023-45812 advisory
- https://github.com/apollographql/router/issues/4013 web
- https://github.com/apollographql/router/pull/4014 web
- https://github.com/apollographql/router/commit/b917b8c117b46a2d508428c0856f4927dfcfc341 web
- https://github.com/apollographql/router package