GHSA-84m6-5m72-45fp

Suggest an improvement
Source
https://github.com/advisories/GHSA-84m6-5m72-45fp
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/04/GHSA-84m6-5m72-45fp/GHSA-84m6-5m72-45fp.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-84m6-5m72-45fp
Aliases
Published
2025-04-07T18:59:21Z
Modified
2025-04-08T17:50:40Z
Severity
  • 7.5 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H CVSS Calculator
Summary
Apollo Router Operation Limits Vulnerable to Bypass via Integer Overflow
Details

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.

Database specific
{
    "nvd_published_at": "2025-04-07T21:15:43Z",
    "cwe_ids": [
        "CWE-190"
    ],
    "severity": "HIGH",
    "github_reviewed": true,
    "github_reviewed_at": "2025-04-07T18:59:21Z"
}
References

Affected packages

crates.io / apollo-router

Package

Name
apollo-router
View open source insights on deps.dev
Purl
pkg:cargo/apollo-router

Affected ranges

Type
SEMVER
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
1.61.2

crates.io / apollo-router

Package

Name
apollo-router
View open source insights on deps.dev
Purl
pkg:cargo/apollo-router

Affected ranges

Type
SEMVER
Events
Introduced
2.0.0-alpha.0
Fixed
2.1.1