PT-2026-83630 · Unknown · Ash Graphql
CVSS v4.0
7.1
High
| Vector | AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N |
Name of the Vulnerable Software and Affected Versions
ash graphql versions 1.4.0 through 1.10.9
Description
An incorrect authorization issue exists in the subscription resolver within
AshGraphql.Graphql.Resolver. This allows an authenticated subscriber in one tenant to receive records belonging to another tenant via GraphQL subscriptions. The problem occurs because the resolver authorizes notification payloads in memory using Ash.can/3 with run queries?: false, which evaluates the read policy filter via Ash.Expr.eval/2 without issuing a query. Since multitenancy is applied during query-build and data-layer-prefix stages rather than inside the query filter, the evaluated policy lacks a tenant condition. Consequently, notifications from one tenant are emitted to subscribers of another tenant if the policy filter is true. Additionally, the single-notification clause lacks a tenant guard, and the batched clause only verifies the head of the notification list, leaving non-head entries authorized solely in memory.Recommendations
Update ash graphql to version 1.11.0 or later.
Exploit
Fix
Incorrect Authorization
Found an issue in the description? Have something to add? Feel free to write us 👾
Weakness Enumeration
Related Identifiers
Affected Products
Ash Graphql