CVE-2025-64530CVE-2025-64530是Apollo Federation中的一个高危安全漏洞,CVSS评分7.5。该漏洞存在于Apollo Federation的组合逻辑中,影响版本2.9.5、2.10.4、2.11.5、2.12.1之前的版本。漏洞允许某些查询在Apollo Router上不当绕过类型和字段的访问控制。具体而言,Apollo Federation错误地允许在接口类型和接口字段上定义用户访问控制指令,但这些控制可以通过内联片段(inline fragments)查询实现对象类型和字段来绕过。这意味着攻击者可以在未授权的情况下访问本应受保护的敏感数据。该漏洞由GitHub安全团队发现并报告,影响使用Apollo Federation构建统一GraphQL图的所有用户。
该漏洞的根本原因在于Apollo Federation的组合逻辑对接口类型和对象类型的访问控制指令处理不一致。正常情况下,用户会在接口类型或字段上定义访问控制指令(如@authenticated、@requiresScopes、@policy),期望所有实现该接口的类型都继承这些访问控制约束。然而,由于GraphQL查询允许使用内联片段直接访问实现对象的字段,攻击者可以通过以下方式绕过访问控制:1) 构造查询时使用内联片段直接查询实现对象类型(如type User implements ProtectedInterface);2) 访问实现对象上的字段,而非通过接口字段访问;3) 由于组合逻辑在处理实现对象字段时未正确继承接口的访问控制约束,导致绕过成功。攻击者利用Apollo Router处理内联片段的机制,直接访问本应受保护的字段,从而获取未授权的数据访问权限。