CVE-2023-41317

Source
https://nvd.nist.gov/vuln/detail/CVE-2023-41317
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-41317.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2023-41317
Aliases
Published
2023-09-05T19:15:48Z
Modified
2024-05-14T12:52:56.345723Z
Severity
  • 5.9 (Medium) CVSS_V3 - CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H CVSS Calculator
Summary
[none]
Details

The Apollo Router is a configurable, high-performance graph router written in Rust to run a federated supergraph that uses Apollo Federation 2. Affected versions are subject to a Denial-of-Service (DoS) type vulnerability which causes the Router to panic and terminate when GraphQL Subscriptions are enabled. It can be triggered when all of the following conditions are met: 1. Running Apollo Router v1.28.0, v1.28.1 or v1.29.0 ("impacted versions"); and 2. The Supergraph schema provided to the Router (either via Apollo Uplink or explicitly via other configuration) has a subscription type with root-fields defined; and 3. The YAML configuration provided to the Router has subscriptions enabled (they are disabled by default), either by setting enabled: true or by setting a valid mode within the subscriptions object (as seen in subscriptions' documentation); and 4. An anonymous (i.e., un-named) subscription operation (e.g., subscription { ... }) is received by the Router If all four of these criteria are met, the impacted versions will panic and terminate. There is no data-privacy risk or sensitive-information exposure aspect to this vulnerability. This is fixed in Apollo Router v1.29.1. Users are advised to upgrade. Updating to v1.29.1 should be a clear and simple upgrade path for those running impacted versions. However, if Subscriptions are not necessary for your Graph – but are enabled via configuration — then disabling subscriptions is another option to mitigate the risk.

References

Affected packages

Git / github.com/apollographql/router

Affected ranges

Type
GIT
Repo
https://github.com/apollographql/router
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed

Affected versions

v0.*

v0.1.0-alpha.0
v0.1.0-alpha.1
v0.1.0-alpha.10
v0.1.0-alpha.2
v0.1.0-alpha.3
v0.1.0-alpha.4
v0.1.0-alpha.5
v0.1.0-alpha.6
v0.1.0-alpha.7
v0.1.0-alpha.8
v0.1.0-alpha.9
v0.1.0-prealpha.4
v0.1.0-prealpha.5
v0.1.0-preview.0
v0.1.0-preview.1
v0.1.0-preview.2
v0.1.0-preview.3
v0.1.0-preview.4
v0.1.0-preview.5
v0.1.0-preview.6
v0.1.0-preview.7
v0.10.0
v0.11.0
v0.12.0
v0.14.0
v0.15.0
v0.15.1
v0.16.0
v0.9.0
v0.9.0-rc.0
v0.9.1
v0.9.2
v0.9.3
v0.9.4
v0.9.5

v1.*

v1.0.0
v1.0.0-alpha.0
v1.0.0-alpha.1
v1.0.0-alpha.2
v1.0.0-alpha.3
v1.0.0-rc.0
v1.0.0-rc.1
v1.0.0-rc.2
v1.1.0
v1.10.0
v1.10.1
v1.10.2
v1.10.3
v1.11.0
v1.12.0
v1.12.1
v1.13.0
v1.13.1
v1.13.2
v1.14.0
v1.15.0
v1.15.1
v1.16.0
v1.16.0-alpha.0
v1.17.0
v1.18.0
v1.18.1
v1.19.0
v1.19.0-alpha.0
v1.19.1
v1.2.0
v1.2.1
v1.20.0
v1.21.0
v1.22.0
v1.23.0
v1.23.0-alpha.0
v1.24.0
v1.25.0
v1.25.0-alpha.2
v1.26.0
v1.27.0
v1.28.0
v1.28.1
v1.29.0
v1.29.0-rc.0
v1.29.0-rc.1
v1.3.0
v1.4.0
v1.5.0
v1.6.0
v1.7.0
v1.8.0
v1.9.0