Skip to main content
VulnerabilityPublished

@apollo/composition · Composition: Apollo Federation has Improper Enforcement of Access Control on Transitive Fields

Affects @apollo/compositionSource GCVE Database

0

CVSS 7.5 High : upgrade to 2.9.5 soon.

Data as of 13 Nov 2026, 19:03 UTC

CVSS 3.1 base score
7.5High
How severe the flaw is on the 0–10 CVSS scale.
Patch
Available – fixed in 2.9.5, 2.10.4, 2.11.5 +1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

What to do

Upgrade to a fixed release listed under Affected software.

Affected software

ProductAffectedFixed in
npm@apollo/compositionAffected
  • <2.9.5
Fixed in
  • 2.9.5
npm@apollo/compositionAffected
  • >=2.10.0-alpha.3 <2.10.4
Fixed in
  • 2.10.4
npm@apollo/compositionAffected
  • >=2.11.0-preview.1 <2.11.5
Fixed in
  • 2.11.5
npm@apollo/compositionAffected
  • >=2.12.0-preview.0 <2.12.1
Fixed in
  • 2.12.1

Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.

AI-suggested

A patch is available in Apollo Federation versions 2.9.5, 2.10.4, 2.11.5, and 2.12.1 that enforces matching access control on dependent fields. Users should upgrade to these versions. Additionally, subgraph schemas must be updated to ensure that fields using @requires or @fromContext have the same access control directives as their dependencies. For those using Apollo Studio build pipeline with Federation 2.9 or above, the patch is automatic, requiring only schema adjustments. Users relying on Apollo Rover for local composition must update to the fixed composition versions and adjust schemas accordingly. As a workaround, users on unpatched versions should explicitly apply matching access control directives on transitive fields or restructure schemas to query protected fields directly.

Description

Apollo Federation's composition logic had a vulnerability where access control directives on fields accessed transitively via @requires or @fromContext were not enforced. This allowed indirect access to protected fields by querying dependent fields without meeting access control requirements. The issue is fixed in versions 2.9.5, 2.10.4, 2.11.5, and 2.12.1 by enforcing matching access control on dependent fields. Users must update their subgraph schemas to align access control directives accordingly.

References

Community reviews

Loading reviews…