CVE-2026-67579 in ashالمعلومات

الملخص

بحسب VulDB • 12/08/2026

ثغرة في عملية استرجاع البيانات (Deserialization) لبيانات غير موثوقة في مشروع ash تسمح لمهاجم غير مصرح له بحقن تعبير تصفية من خلال مؤشر ترقيم صفحات مزيف يعتمد على مفتاح معين، مما يؤدي إلى حقن SQL أو تنفيذ كود اعتمادًا على طبقة البيانات.

تقوم عمليات القراءة التي تستخدم الترقيم بالصفحات المعتمد على المفتاح (keyset pagination) بفك تشفير المؤشر `page[:after]` أو `page[:before]` المقدم من العميل في الدالة `decode_values/2` الموجودة في الملف `lib/ash/page/keyset.ex`. يتم ذلك باستخدام دالة `non_executable_binary_to_term/2` مع الخيار `[:safe]`. تحجب هذه الحماية (guard) الذرات الجديدة، والدوال، والمنافذ، لكنها لا تمنع بناء هيكل بيانات (struct) يعتمد على ذرات تم تسجيلها مسبقًا في تطبيق Ash قيد التشغيل. نتيجة لذلك، يبقى تعبير `%Ash.Query.Call{}` المفكوك ساري المفعول ويتم إدراجه ضمن مصفوفة تصفية المفتاح كمقارنة قيمة في الدالة `do_filters/4` ليتم تقييمه. ونظرًا لأن المؤشر يتجاوز ماكرو `Ash.Expr`، فإن وقت التشغيل لا يطبق البوابة الخاصة بـ `private?/public?` التي كانت سترفض هذا الإدخال لولا ذلك. وفي حالة استخدام AshPostgres، يتم تضمين الجزء المُحقن مباشرة في استعلام SQL؛ أما في طبقات البيانات ETS وSimple، فإنه يُقيّم داخل العملية كاستدعاء دالة عشوائي.

تؤثر هذه المشكلة على الإصدارات من ash 1.17.0 حتى قبل إصدار 3.31.3.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

مسؤول

EEF

حجز

09/08/2026

إفشاء

12/08/2026

الاعتدال

تمت الموافقة

إدخال

VDB-389233

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!