Skip to content
Heist/ feed
Back to feed
High

Apollo Router Operation Limits Vulnerable to Bypass via Integer Overflow

Type: advisorySources: OSV

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 source

Published 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"
}