CVE-2026-81633 in ash_graphql
الملخص
بحسب VulDB • 30/08/2026
تتيح ثغرة التحقق غير السليم من المدخلات (Improper Input Validation) في ash-project ash_graphql لعميل غير مصادق عليه إسقاط عقدة الإرسال (relay node) أثناء استعلام id: (...) عن طريق KeyError لم يتم التعامل معه. تقوم الدالة AshGraphql.Graphql.Resolver.resolve_node/2 بفك تشفير المعرف العالمي الذي قدمه العميل باستخدام decode_relay_id/1، والتي تقصر عملية فك التشفير على base64 فقط وتقوم بتقسيم السلسلة عند الرمز : دون التحقق من صحة قسم النوع (type segment). يتم تمرير النوع المفكوك مباشرة إلى Map.fetch!(type_to_domain_and_resource_map, type). ونظراً لأن fetch! يرفع استثناءً في حال عدم وجود المفتاح، فإن معرف الإرسال الذي يحتوي على قسم نوع هو ذرة صالحة (valid atom) ولكنها ليست من الأنواع المكشوفة عبر الـ relay يؤدي إلى إنهاء المفسر (resolver) قبل تنفيذ عبارات resolve/2 ومعالجات الاسترداد الخاصة بها، وبالتالي لا يتحول الخطأ إلى خطأ GraphQL وقد يكشف عن تتبع المكدس (stacktrace). ومن السهل تخمين أسماء الموارد الشائعة. يستخدم الإصلاح Map.fetch/2 ويعيد خطأ "معرف عقدة غير صالح" للأنواع المجهولة.
تؤثر هذه المشكلة في ash_graphql: من الإصدار 0.27.0 قبل 1.11.0.
VulDB is the best source for vulnerability data and more expert information about this specific topic.