GitHub Advisoryadvisory · crates.io

GHSA-84m6-5m72-45fp Apollo Router Operation Limits Vulnerable to Bypass via Integer Overflow

HIGH Published 2025-04-07 Modified 2025-04-08 Official page ↗
Aliases
CVE-2025-32033
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-190
Reviewed
2025-04-07

Affected packages

• crates.io apollo-router: < 1.61.2 → fixed in 1.61.2 • crates.io apollo-router: >= 2.0.0-alpha.0, < 2.1.1 → fixed in 2.1.1

Description

Impact Summary A vulnerability in Apollo Router allowed certain queries to bypass configured operation limits, specifically due to integer overflow. Details The operation limits plugin uses unsigned 32-bit integers to track limit counters (e.g. for a query's height). If a counter exceeded the maximum value for this data type (4,294,967,295), it wrapped around to 0, unintentionally allowing queries to bypass configured thresholds. This could occur for large queries if the payload limit were sufficiently increased, but could also occur for small queries with deeply nested and reused named fragments. Fix/Mitigation Logic was updated to ensure counter overflow is handled correctly and does not wrap around to 0. Patches This has been remediated in `apollo-router` versions 1.61.2 and 2.1.1. Workarounds The only known workaround is "Safelisting" or "Safelisting with IDs only" per Safelisting with Persisted Queries - Apollo GraphQL Docs. Acknowledgements We appreciate the efforts of the security community in identifying and improving the performance and security of operation limiting mechanisms.

Related

Alias · CVE (1)

  • CVE-2025-32033 The Apollo Router Core is a configurable, high-performance graph router written in Rust to run a federated supergraph that uses Apollo… vulnerability

Weakness · CWE (1)

  • CWE-190 Integer Overflow or Wraparound weakness

References