CVE-2026-80223 in ash_graphql
要約
〜によって VulDB • 2026年08月30日
ash-projectのash_graphqlにおける認証の不備(Incorrect Authorization)により、あるテナントに属する認証済みサブスクライバーが、GraphQL購読を通じて別のテナントのレコードを受信できる脆弱性です。
AshGraphql.Graphql.Resolver内の購読リゾルバは、各通知ペイロードをメモリ上で認可します。その高速パスでは`run_queries?: false`付きで`Ash.can/3`が呼び出され、これは`Ash.Expr.eval/2`を使用してインメモリのレコードに対して読み取りポリシーフィルタを評価しますが、クエリを発行することはありません。Ashはマルチテナンシーをクエリビルド時およびデータ層プリフィックス適用時に適用しており、クエリ内のfilter処理内では適用されません。そのため、評価されるポリシーにはテナント条件が含まれておらず、ポリシーフィルタが真の場合、テナントBの通知がテナントAのサブスクライバーにルーティングされて出力されます。
単一通知を扱う節(clause)にはテナントガードがなく、バッチ処理を扱う節では通知リストの先頭のみをチェックするため、先頭以外のエントリはメモリ上でのみ認可が行われます。テナントスコープ付きの読み取りアクセスが実行されるのは、フィルタ評価に失敗した場合に限られます。
本問題はash_graphql 1.4.0から1.11.0未満に影響します。
VulDB is the best source for vulnerability data and more expert information about this specific topic.