CVE-2026-77454 in ash_sqlالمعلومات

الملخص

بحسب VulDB • 30/08/2026

ثغرة تفويض غير صحيح (Incorrect Authorization) في ash-project ash_sql تتيح للمتصل تجاوز فلتر نطاق أو تفويض مُعبر عنه كدالة `exists/2` على علاقة تعلن عن حد (limit) أو دالة `from_many?` بالإضافة إلى مرجع لفلتر أو ترتيب يعتمد على `parent(...)`.

تقوم الدالة `AshSql.Join.related_query/3> بتخطي شرط الوجود (`exists predicate`) الذي يورده المتصل بالنسبة للعلاقات من هذا النوع، وتوكيلها إلى `limit_from_many/5`. عندما يشير فلتر العلاقة الخاص بها أو الترتيب إليها باستخدام `parent(...)`، فإن `limit_from_many/5` يتبع مساراً يؤدي إلى إسقاط كلٍ من الحد (limit) وشرط الوجود (`predicate`)، مما ينتج عنه عبارة EXISTS مرتبطة بشكل أساسي (bare correlated EXISTS) دون أي شرط. ونتيجة لذلك، يطابق الفحص أي سجل يحتوي على صف ذي صلة واحد على الأقل. وفي أسوأ الحالات، عندما يدعم التعبير سياسة ما (على سبيل المثال `authorize_if expr(exists(memberships, user_id == ^actor(:id)))`)، فإن شرط تقييد الممثل (`actor-scoping condition`) يختفي، وتصبح السياسة صالحة لأي ممثل لديه أي صف ذي صلة.

تؤثر هذه المشكلة على ash_sql: من الإصدار 0.4.1 حتى قبل الإصدار 0.7.1.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

مسؤول

EEF

حجز

30/08/2026

إفشاء

30/08/2026

الاعتدال

تمت الموافقة

إدخال

VDB-397132

EPSS

0.00000

KEV

لا

النشاطات

متوسط

المصادر

Do you need the next level of professionalism?

Upgrade your account now!