{"cve":"CVE-2024-32971","nvd":{"published":"2024-05-02T07:15:21.733","modified":"2026-06-17T07:30:47.753","status":"Deferred","description":"Apollo Router is a configurable, graph router written in Rust to run a federated supergraph that uses Apollo Federation 2. The affected versions of Apollo Router contain a bug that in limited circumstances, could lead to unexpected operations being executed which can result in unintended data or effects. This only affects Router instances configured to use distributed query plan caching. The root cause of this defect is a bug in Apollo Router’s cache retrieval logic: When this defect is present and distributed query planning caching is enabled, asking the Router to execute an operation (whether it is a query, a mutation, or a subscription) may result in an unexpected variation of that operation being executed or the generation of unexpected errors. The issue stems from inadvertently executing a modified version of a previously executed operation, whose query plan is stored in the underlying cache (specifically, Redis). Depending on the type of the operation, the result may vary. For a query, results may be fetched that don’t match what was requested (e.g., rather than running `fetchUsers(type: ENTERPRISE)` the Router may run `fetchUsers(type: TRIAL)`. For a mutation, this may result in incorrect mutations being sent to underlying subgraph servers (e.g., rather than sending `deleteUser(id: 10)` to a subgraph, the Router may run `deleteUser(id: 12)`. Users who are using distributed query plan caching, are advised to either upgrade to version 1.45.1 or above or downgrade to version 1.43.2 of the Apollo Router. Apollo Router versions 1.44.0 or 1.45.0 are not recommended for use and have been withdrawn. Users unable to upgrade can disable distributed query plan caching to mitigate this issue.","cvss_v4":null,"cvss_v3":{"version":"3.1","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H","score":9.0},"cwes":["CWE-440","CWE-670"],"references":["https://github.com/apollographql/router/commit/ff9f666598cd17661880fe7fc6e9c9611316e529","https://github.com/apollographql/router/releases/tag/v1.45.1","https://github.com/apollographql/router/security/advisories/GHSA-q9p4-hw9m-fj2v","https://www.apollographql.com/docs/router/configuration/distributed-caching/#distributed-query-plan-caching","https://github.com/apollographql/router/commit/ff9f666598cd17661880fe7fc6e9c9611316e529"],"products":[],"source":"nvd","synced_at":"2026-10-19T21:49:08.435428910+00:00"},"epss":{"cve":"CVE-2024-32971","score":0.00727,"percentile":0.54167,"date":"2026-10-31"},"kev":null,"osv":[{"id":"GHSA-q9p4-hw9m-fj2v","url":"https://osv.dev/vulnerability/GHSA-q9p4-hw9m-fj2v","summary":"Apollo Router vulnerable to Critical Regression In Query Plan Cache","modified":"2026-09-10T03:50:14.171560561Z","packages":[{"ecosystem":"crates.io","name":"apollo-router","purl":"pkg:cargo/apollo-router","ranges":[">=1.44.0 <1.45.1"],"fixed":["1.45.1"]}]}],"attribution":["This product uses the NVD API but is not endorsed or certified by the NVD.","EPSS scores: FIRST Exploit Prediction Scoring System, https://www.first.org/epss","Known exploited vulnerabilities: CISA Known Exploited Vulnerabilities Catalog, https://www.cisa.gov/known-exploited-vulnerabilities-catalog","Package advisories: OSV (https://osv.dev), from the GitHub Advisory Database, PyPA, Go, RustSec and other ecosystem databases, under CC-BY 4.0 or CC0","CVE records: the CVE Program's CVE List (https://www.cve.org), under its terms of use (https://www.cve.org/Legal/TermsOfUse). CVE is a registered trademark of The MITRE Corporation; this product is not affiliated with the CVE Program."]}