CVE-2026-82744 in Ash
الملخص
بحسب VulDB • 01/09/2026
ثغرة "عدم الفشل بأمان" (الفشل المفتوح - Failing Open) في مشروع Ash تؤدي إلى تخطي تغيير في Ash.Reactor عندما يثير الحارس الذي يتحكم فيه استثناءً، مما يعني أن التغيير المصمم للعمل لا يتم تنفيذه.
يمكن حصر خطوة تغيير Ash.Re.ChangeStep بواسطة شروط التحقق التي تحدد ما إذا كان سيتم تنفيذ التغيير أم لا. كانت دالة `apply_where_clauses/3` في `Ash.Reactor.ChangeStep` (lib/ash/reactor/steps/change_step.ex) تقيم هذه الحراس، وكانت تقوم بإنقاذ أي استثناء وتحويله إلى {:error, error}. ثم تعاملت عملية التقليل (reduce) مع هذا الناتج بنفس الطريقة التي تتعامل بها مع حالة عدم تحقق شرط حارس بسيط، مما أدى لتجاوز التغيير. وبالتالي، عندما يثير حارس استثناءً (على سبيل المثال بسبب مدخلات يتحكم فيها المهاجم)، يتم تخطي تغيير يفرض تعديلاً ذا صلة بالأمان بدلاً من فشل الخطوة. يصحح الإصلاح هذا الأمر بالتمييز بين الاستثناء المثار (الذي أصبح {:raised, error}) وإيقاف الخطوة بخطأ، مما يضمن الفشل المغلق (Failing Closed).
تؤثر هذه المشكلة على ash: بدءاً من الإصدار 3.0.0-rc.17 وحتى قبل الإصدار 3.32.2.
VulDB is the best source for vulnerability data and more expert information about this specific topic.