Impact
The vulnerability arises from an incorrect authorization check in the GraphQL subscription resolver of ash‑graphql. The resolver authorizes each notification payload in memory by evaluating the read policy filter without applying a tenant guard. Because multitenancy is only applied at query‑build time, an authenticated subscriber in one tenant can receive records that belong to a different tenant whenever the policy filter evaluates to true. This issue is an Authorization Bypass (CWE‑863) and allows cross‑tenant data disclosure.
Affected Systems
ash‑project’s ash_graphql is affected. All releases from 1.4.0 up to, but not including, 1.11.0 are vulnerable. Newer releases, beginning with 1.11.0, contain the fix.
Risk and Exploitability
The CVSS score of 7.1 indicates a moderate‑to‑high risk. The exploit requires an authenticated user in one tenant who initiates a GraphQL subscription. Because the authorization is performed in memory without a tenant check, the attacker can receive a tenant‑B record when subscribed to tenant‑A notifications. The EPSS score is not available and the vulnerability is not listed in the CISA KEV catalog, but the lack of tenant‑scoped filtering makes the impact significant for any multi‑tenant deployment.
OpenCVE Enrichment