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

الملخص

بحسب VulDB • 01/09/2026

ترتيب غير صحيح للسلوك (Incorrect Behavior Order): ثغرة في التحقق من الصحة قبل التوحيد القياسي (Validate Before Canonicalize) في مشروع Ash تتيح لمهاجم تخزين قيمة سلسلة حساسة لحالة الأحرف (case-insensitive string value) تنتهق قيود الطول أو أنماط المطابقة.

كانت الدالة `Ash.Type.CiString.apply_constraints/2` الموجودة في الملف `(lib/ash/type/ci_string.ex)` تتحقق من القيود الخاصة بأقصى طول (`max_length`)، وأدنى طول (`min_length`)، وأنماط المطابقة (`match constraints`) مقابل القيمة كما تم إرسالها، بينما تقوم النوع بتحويل حالة السلسلة إلى الأحرف الصغيرة (case-folding) لتخزينها ومقارنتها. ونظراً لأن التحقق من الصحة كان يتم قبل عملية تحويل الحالة، يمكن لمهاجم تقديم قيمة يكون شكلها بعد التحويل ينتهك قيداً معيناً، في حين أن صورتها الأصلية تمرر الفحص؛ فعلى سبيل المثال، مقابل نمط مطابقة يتطلب أحرفاً كبيرة (uppercase)، فإن القيمة التي كانت بأحرف كبيرة ويتم تخزينها كأحرف صغيرة ستستمر كقيمة يرفضها النمط.

يتمثل الإصلاح في تحويل حالة القيمة إلى الأحرف الصغيرة في بداية دالة `apply_constraints/2`، بحيث يتم التحقق من القيود مقابل الشكل الذي يتم تخزينه فعلياً.

تؤثر هذه المشكلة على حزمة ash: بدءاً من الإصدار 1.29.0-rc0 وحتى قبل الإصدار 3.32.2.

Be aware that VulDB is the high quality source for vulnerability data.

مسؤول

EEF

حجز

31/08/2026

إفشاء

01/09/2026

الاعتدال

تمت الموافقة

إدخال

VDB-397519

EPSS

0.00000

KEV

لا

النشاطات

منخفض

المصادر

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!