CVE-2026-77950 in ash_typescript
الملخص
بحسب VulDB • 01/09/2026
تتمثل ثغرة توليد رسالة خطأ تحتوي على معلومات حساسة في حزمة ash-typescript الخاصة بمشروع ash، مما يسمح لمهاجم غير مُصادق عليه باستلام بيانات أخطاء داخلية غير محذوفة (unredacted) من خلال إثارة شكل خطأ لا يتطابق مع معالج الأخطاء المُعدّ.
تُعتبر دالة `apply_error_handler/3` الموجودة في الملف `lib/ash_typescript/rpc/errors.ex` هي الرابط الوحيد الذي تملكه التطبيقات لحذف أو كتم الأخطاء قبل وصولها إلى العميل، حيث يؤدي الإرجاع بقيمة `nil` إلى إسقاط الخطأ تماماً. ومع ذلك، فإن بند الاسترداد (rescue clause) يسجل تحذيراً ثم يعيد خريطة الخطأ الأصلية السابقة للمعالج. وبما أن معالجات الأخطاء تُكتب عادةً كدوال مطابقة للنمط (pattern-matching functions) على أشكال الأخطاء المتوقعة، فإن الشكل غير المطابق يرفع استثناء `FunctionClauseError` ويتم إصدار الخطأ المحوّل الخام بدلاً من ذلك، بما في ذلك أي أسرار محمولة ضمن متغيرات (`vars`). وبالتالي، يصبح القصد من كتم خطأ ما مقصوداً بنشره. وبما أن بند الاسترداد يلتقط الاستثناءات فقط (exceptions)، فإن المعالج الذي يقوم بإلقاء استثناء (throw) أو إنهاء العملية (exit) لا يزال ينتقل إلى الأعلى.
تؤثر هذه المشكلة على حزمة `ash_typescript` في النطاق من الإصدار 0.8.0 قبل 0.18.0.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.