Apollo Router Operation Limits Vulnerable to Bypass via Integer Overflow
The Apollo Router Core is a configurable, high-performance graph router written in Rust to run a federated supergraph that uses Apollo Federation 2. Prior to 1.61.2 and 2.1.1, 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. This has been remediated in apollo-router versions 1.61.2 and 2.1.1.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2025-32033
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 2 Nov 2026, 22:13 UTC · Revision 1
Source evidence
Apollo Router Operation Limits Vulnerable to Bypass via Integer Overflow
core-osv · Original sourcePublished 7 Apr 2025, 20:48 UTC
The Apollo Router Core is a configurable, high-performance graph router written in Rust to run a federated supergraph that uses Apollo Federation 2. Prior to 1.61.2 and 2.1.1, 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. This has been remediated in apollo-router versions 1.61.2 and 2.1.1.
osv:CVE-2025-32033
Complete source record
{
"id": "8748a5241a8dc1c77618ff3117c95ce052adfe7e8ba1dbea980289b285b21d6b",
"url": "https://osv.dev/vulnerability/CVE-2025-32033",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Apollo Router Operation Limits Vulnerable to Bypass via Integer Overflow",
"summary": "The Apollo Router Core is a configurable, high-performance graph router written in Rust to run a federated supergraph that uses Apollo Federation 2. Prior to 1.61.2 and 2.1.1, 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. This has been remediated in apollo-router versions 1.61.2 and 2.1.1.",
"evidence": "osv:CVE-2025-32033",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2025-32033",
"aliases": [
"CVE-2025-32033",
"GHSA-84m6-5m72-45fp"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/apollographql/router",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "415a4e63236cf722fddd40759fb6c3b5389ea68d"
},
{
"introduced": "8eff964a5ccfd1615f87ddd519224c313f87daec"
},
{
"fixed": "c316213ce4bcd080eaabb8e080c50fe3f9f13292"
},
{
"fixed": "ab6675a63174715ea6ff50881fc957831d4e9564"
},
{
"fixed": "bba032e183b861348a466d3123c7137a1ae18952"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "1.61.2"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"introduced": "2.0.0-alpha.0"
},
{
"fixed": "2.1.1"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "ab6675a63174715ea6ff50881fc957831d4e9564"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "bba032e183b861348a466d3123c7137a1ae18952"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
}
],
"versions": [
"v1.61.1",
"v2.1.0",
"v1.61.1-rc.0",
"v2.1.0-rc.1",
"v2.1.0-rc.0",
"v2.0.0-preview.6",
"v2.0.0-preview.5",
"v1.0.0",
"v1.0.0-rc.2",
"v1.0.0-rc.1",
"v1.0.0-rc.0",
"v1.0.0-alpha.3",
"v1.0.0-alpha.2",
"v1.0.0-alpha.1",
"v1.0.0-alpha.0",
"v0.16.0",
"v0.15.1",
"v0.15.0",
"v0.14.0",
"v0.12.0",
"v0.11.0",
"v0.10.0",
"v0.9.5",
"v0.9.4",
"v0.9.3",
"v0.9.2",
"v0.9.1",
"v0.9.0",
"v0.9.0-rc.0",
"v0.1.0-preview.7",
"v0.1.0-preview.6",
"v0.1.0-preview.5",
"v0.1.0-preview.4",
"v0.1.0-preview.3",
"v0.1.0-preview.2",
"v0.1.0-preview.1",
"v0.1.0-preview.0",
"v0.1.0-alpha.10",
"v0.1.0-alpha.9",
"v0.1.0-alpha.8",
"v0.1.0-alpha.7",
"v0.1.0-alpha.6",
"v0.1.0-alpha.2",
"v0.1.0-alpha.1",
"v0.1.0-alpha.0",
"v0.1.0-prealpha.5",
"v0.1.0-prealpha.4"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-32033.json"
}
}
],
"modified": "2026-10-28T02:30:23.849323954Z",
"provider": "osv",
"references": [
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/32xxx/CVE-2025-32033.json",
"https://github.com/apollographql/router/security/advisories/GHSA-84m6-5m72-45fp",
"https://nvd.nist.gov/vuln/detail/CVE-2025-32033",
"https://github.com/apollographql/router/commit/ab6675a63174715ea6ff50881fc957831d4e9564",
"https://github.com/apollographql/router/commit/bba032e183b861348a466d3123c7137a1ae18952"
],
"provider_metadata": {
"cwe_ids": [
"CWE-119"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/32xxx/CVE-2025-32033.json"
}
},
"related_cves": [
{
"value": "CVE-2025-32033",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 490479,
"published_at": "2025-04-07T20:48:19.504+00:00"
}