{"id":"GHSA-w8vq-3hf9-xppx","summary":"Apollo Router Unnamed \"Subscription\" operation results in Denial-of-Service","details":"### Impact\n\nThis is 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**:\n\n1. Running Apollo Router v1.28.0, v1.28.1 or v1.29.0 (\"impacted versions\"); **and**\n2. 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**\n3. 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](https://www.apollographql.com/docs/router/executing-operations/subscription-support/#router-setup)); **and**\n4. An [anonymous](https://spec.graphql.org/draft/#sec-Anonymous-Operation-Definitions) (i.e., un-named) `subscription` operation (e.g., `subscription { ... }`) is received by the Router\n\nIf **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.\n\nDepending on the environment in which impacted versions are running and the high-availability characteristics of that environment, a single Router's termination may result in limited or reduced availability or other knock-on effects which are deployment-specific (e.g., depending on if there are multiple instances, auto-restart policies, etc.)\n\n### Discovery\n\nThis vulnerability was discovered by an internal Apollo team.  We have no reports or evidence to support that that has been exploited outside of our own testing, research and follow-up.\n\nOur public security policy can be reviewed at https://github.com/apollographql/router/security/policy and we consider the security of our projects a top priority.  Please review the linked policy for more details.\n\n### Patches\n\nThis is fixed in [Apollo Router v1.29.1](https://github.com/apollographql/router/releases/tag/v1.29.1), which is available on:\n\n- [GitHub Releases](https://github.com/apollographql/router/releases) as `v1.29.1`\n- [GitHub Packages Container Registry](https://github.com/apollographql/router/pkgs/container/router) as `v1.29.1`\n- [Helm Chart Repository](https://github.com/apollographql/router/pkgs/container/helm-charts%2Frouter) as `1.29.1` (without the `v`)\n\nWe recommend all users running the impacted configuration above to update to a patched version of the Router immediately.  Router v1.29.1 should be a very simple upgrade from any impacted version. \n\n### Workarounds\n\nUpdating 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.\n\n### For more information\n\nIf you have any questions or comments about this advisory:\n\n* Open an issue in [the `router` repository](https://github.com/apollographql/router)\n* Email us at `security` `[at]` `apollographql` `[dot]` `com`","aliases":["CVE-2023-41317"],"modified":"2026-09-10T03:50:03.268373286Z","published":"2023-09-07T12:58:29Z","database_specific":{"github_reviewed":true,"github_reviewed_at":"2023-09-07T12:58:29Z","nvd_published_at":"2023-09-05T19:15:48Z","cwe_ids":["CWE-755"],"severity":"MODERATE"},"references":[{"type":"WEB","url":"https://github.com/apollographql/router/security/advisories/GHSA-w8vq-3hf9-xppx"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2023-41317"},{"type":"WEB","url":"https://github.com/apollographql/router/commit/b295c103dd86c57c848397d32e8094edfa8502aa"},{"type":"PACKAGE","url":"https://github.com/apollographql/router"},{"type":"WEB","url":"https://github.com/apollographql/router/releases/tag/v1.29.1"}],"affected":[{"package":{"name":"apollo-router","ecosystem":"crates.io","purl":"pkg:cargo/apollo-router"},"ranges":[{"type":"SEMVER","events":[{"introduced":"1.28.0"},{"fixed":"1.29.1"}]}],"database_specific":{"last_known_affected_version_range":"\u003c= 1.29.0","source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2023/09/GHSA-w8vq-3hf9-xppx/GHSA-w8vq-3hf9-xppx.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H"}]}