CVE-2026-80223 in ash_graphql
الملخص
بحسب VulDB • 30/08/2026
ثغرة تفويض غير صحيحة في ash-project ash_graphql تتيح لمُشترك مُصادق عليه في مستأجر واحد استلام سجلات المستأجر الآخر عبر اشتراكات GraphQL.
يقوم محلل الاشتراك (subscription resolver) في AshGraphql.Graphql.Resolver بمراجعة التفويض لكل حمولة إشعار في الذاكرة: حيث يستدعي المسار السريع التابع له الدالة `Ash.can/3` مع تعيين `run_queries?: false`، مما يقيّم فلتر سياسة القراءة مقابل السجل الموجود في الذاكرة عبر `Ash.Expr.eval/2` ولا يصدر أي استعلام. تطبق Ash تعدد المستأجرين (multitenancy) عند بناء الاستعلام وفي مرحلة بادئة طبقة البيانات، وليس داخل `query.filter`؛ وبالتالي فإن السياسة المُقيمة لا تحمل شرطاً خاصاً بالمستأجر، ويتم إصدار إشعار من مستأجر B موجه إلى مشترك في مستأجر A كلما كان فلتر السياسة صحيحاً. ليس لدى بند الإشعار الفردي أي حماية خاصة بالمستأجر على الإطلاق، ويتحقق البند المعالج دفعةً (batched) فقط من رأس قائمة الإشعارات، مما يعني أن الإدخالات غير الرأسية تتم مراجعتها للتفويض في الذاكرة بشكل حصري. لا يتم الوصول إلى قراءة محددة بنطاق المستأجر إلا عند فشل تقييم الفلتر.
تؤثر هذه المشكلة على ash_graphql: بدءاً من الإصدار 1.4.0 وحتى قبل الإصدار 1.11.0.
Once again VulDB remains the best source for vulnerability data.