U.S. flag   An official website of the United States government
Dot gov

Official websites use .gov
A .gov website belongs to an official government organization in the United States.

Https

Secure .gov websites use HTTPS
A lock (Dot gov) or https:// means you've safely connected to the .gov website. Share sensitive information only on official, secure websites.

CVE-2024-32971 Detail

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.


Metrics

NVD enrichment efforts reference publicly available information to associate vector strings. CVSS information contributed by other sources is also displayed.
CVSS 4.0 Severity and Vector Strings:

NIST CVSS score
NIST: NVD
N/A
NVD assessment not yet provided.

References to Advisories, Solutions, and Tools

By selecting these links, you will be leaving NIST webspace. We have provided these links to other web sites because they may have information that would be of interest to you. No inferences should be drawn on account of other sites being referenced, or not, from this page. There may be other web sites that are more appropriate for your purpose. NIST does not necessarily endorse the views expressed, or concur with the facts presented on these sites. Further, NIST does not endorse any commercial products that may be mentioned on these sites. Please address comments about this page to nvd@nist.gov.

Hyperlink Resource
https://github.com/apollographql/router/commit/ff9f666598cd17661880fe7fc6e9c9611316e529
https://github.com/apollographql/router/commit/ff9f666598cd17661880fe7fc6e9c9611316e529
https://github.com/apollographql/router/releases/tag/v1.45.1
https://github.com/apollographql/router/releases/tag/v1.45.1
https://github.com/apollographql/router/security/advisories/GHSA-q9p4-hw9m-fj2v
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://www.apollographql.com/docs/router/configuration/distributed-caching/#distributed-query-plan-caching

Weakness Enumeration

CWE-ID CWE Name Source
CWE-670 Always-Incorrect Control Flow Implementation GitHub, Inc.  
CWE-440 Expected Behavior Violation GitHub, Inc.  

Change History

3 change records found show changes

Quick Info

CVE Dictionary Entry:
CVE-2024-32971
NVD Published Date:
05/02/2024
NVD Last Modified:
11/21/2024
Source:
GitHub, Inc.