Skip to content
Heist/ feed
Back to feed
High

Apollo Router Core: Access Control Bypass on Polymorphic Types

Type: advisorySources: OSV

Apollo Router Core is a configurable graph router written in Rust to run a federated supergraph using Apollo Federation 2. In versions 1.61.11 below, as well as 2.0.0-alpha.0 through 2.8.1-rc.0, a vulnerability allowed for unauthenticated queries to access data that required additional access controls. Router incorrectly handled access control directives on interface types/fields and their implementing object types/fields, applying them to interface types/fields while ignoring directives on their implementing object types/fields when all implementations had the same requirements. Apollo Router customers defining @authenticated, @requiresScopes, or @policy directives inconsistently on polymorphic types (i.e., object types that implement interface types) are impacted. This issue is fixed in versions 1.61.12 and 2.8.1.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2025-64173
Confirmed fixed CVEs
Not specified
Updated in this feed
6 Nov 2026, 01:04 UTC · Revision 1

Source evidence

Apollo Router Core: Access Control Bypass on Polymorphic Types

core-osv · Original source

Published 6 Nov 2025, 20:42 UTC

Apollo Router Core is a configurable graph router written in Rust to run a federated supergraph using Apollo Federation 2. In versions 1.61.11 below, as well as 2.0.0-alpha.0 through 2.8.1-rc.0, a vulnerability allowed for unauthenticated queries to access data that required additional access controls. Router incorrectly handled access control directives on interface types/fields and their implementing object types/fields, applying them to interface types/fields while ignoring directives on their implementing object types/fields when all implementations had the same requirements. Apollo Router customers defining @authenticated, @requiresScopes, or @policy directives inconsistently on polymorphic types (i.e., object types that implement interface types) are impacted. This issue is fixed in versions 1.61.12 and 2.8.1.

osv:CVE-2025-64173
Complete source record
{
  "id": "36dc5a97749edcef80a392497ee386464d5ac59a3397aff9b755dd7b06e276af",
  "url": "https://osv.dev/vulnerability/CVE-2025-64173",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Apollo Router Core: Access Control Bypass on Polymorphic Types",
    "summary": "Apollo Router Core is a configurable graph router written in Rust to run a federated supergraph using Apollo Federation 2. In versions 1.61.11 below, as well as 2.0.0-alpha.0 through 2.8.1-rc.0, a vulnerability allowed for unauthenticated queries to access data that required additional access controls. Router incorrectly handled access control directives on interface types/fields and their implementing object types/fields, applying them to interface types/fields while ignoring directives on their implementing object types/fields when all implementations had the same requirements. Apollo Router customers defining @authenticated, @requiresScopes, or @policy directives inconsistently on polymorphic types (i.e., object types that implement interface types) are impacted. This issue is fixed in versions 1.61.12 and 2.8.1.",
    "evidence": "osv:CVE-2025-64173",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2025-64173",
      "aliases": [
        "CVE-2025-64173",
        "GHSA-x33c-7c2v-mrj9"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/apollographql/router",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "12517bebc84259dc2dd39d33d229358026e174f9"
                },
                {
                  "introduced": "827cfa979e45f636a5a68fcaecf3864ba7534d9d"
                },
                {
                  "fixed": "efb0dcbfe8d668e3aeb1ade1513072d449128dc4"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "1.61.12"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "introduced": "2.8.1-rc.0"
                      },
                      {
                        "fixed": "2.8.1"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "efb0dcbfe8d668e3aeb1ade1513072d449128dc4"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v2.8.1"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v1.61.12-rc.0",
            "v2.8.1-rc.0",
            "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-64173.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:45.795200855Z",
      "provider": "osv",
      "references": [
        "https://github.com/apollographql/router/releases/tag/v2.8.1",
        "https://www.apollographql.com/docs/graphos/routing/security/authorization#authorization-directives",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/64xxx/CVE-2025-64173.json",
        "https://github.com/apollographql/router/security/advisories/GHSA-x33c-7c2v-mrj9",
        "https://nvd.nist.gov/vuln/detail/CVE-2025-64173"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-288"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/64xxx/CVE-2025-64173.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2025-64173",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 513696,
  "published_at": "2025-11-06T20:42:51.785+00:00"
}