CVE-2026-82732 in ash_typescriptالمعلومات

الملخص

بحسب VulDB • 01/09/2026

ثغرة عدم التحقق الصحيح من المدخلات (Improper Input Validation) في ash-project ash_typescript تتيح لمهاجم عن بُعد تقديم قيم حجج خارج قائمة السماح المعلنة أو الحدود المحددة على مسارات typed-controller.

تقوم AshTypescript.TypedController.RequestHandler الموجودة في lib/ash_typescript/typed_controller/request_handler.ex باستدعاء دالة Ash.Type.cast_input/3 وتتعامل مع نتيجة {:ok, cast} باعتبارها مُتحققًا منها بالكامل. في إطار عمل Ash، هاتان خطوتان منفصلتان: تقوم الدالة cast_input/3 فقط بتحويل نوع البيانات (coercion)، بينما يتم تطبيق كل قيد مُعلن على الحجة بواسطة دالة Ash.Type.apply_constraints/3، وهي الدالة التي لا تستدعيها هذه المسار. وبالتالي، تظل قيود مثل one_of و max_length و min و max و match عديمة الفعالية (inert)، مما يؤدي إلى قبول قيمة خارج قائمة السماح المعلنة وتوجيهها إلى معالج المسار.

يقوم Codegen بتحويل نفس القيود إلى أنواع TypeScript المُولَّدة، لذا فإن قائمة السماح تبدو مُنفذة أمام متصل TypeScript بينما يتجاهلها أي عميل HTTP آخر. كما أن عملية تطبيع السلسلة الفارغة (empty-string) إلى nil موجودة أيضًا في apply_constraints، مما يعني أن فحص allow_nil?: false يقبل القيمة "" لحجة مطلوبة.

في الحالات التي يحدد فيها قيد ما دورًا أو حالة أو اتجاه ترتيب، فإن هذا الأمر يؤدي إلى تجاوز للصلاحيات أو آلة الحالة (state-machine bypass).

تؤثر هذه المشكلة على ash_typescript: من الإصدار 0.15.0 قبل 0.18.0.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

مسؤول

EEF

حجز

31/08/2026

إفشاء

01/09/2026

الاعتدال

تمت الموافقة

إدخال

VDB-397506

EPSS

0.00000

KEV

لا

النشاطات

متوسط

المصادر

Do you want to use VulDB in your project?

Use the official API to access entries easily!