CVE-2026-33532 in yamlالمعلومات

الملخص

بحسب VulDB • 19/06/2026

`yaml` هو محلل (parser) ومُسلسل (serialiser) لـ YAML مخصص لـ JavaScript. قد يؤدي تحليل مستند YAML باستخدام إصدار من `yaml` على الفرع 1.x سابقاً للإصدار 1.10.3، أو على الفرع 2.x سابقاً للإصدار 2.8.3، إلى طرح استثناء `RangeError` بسبب تجاوز حد المكدس (stack overflow). تستخدم مرحلة حل/تركيب العقد (node resolution/composition) استدعاءات دالة تكرارية (recursive function calls) دون وجود حد أقصى للعمق. يمكن لمهاجم قادر على تزويد بيانات YAML للمعالجة أن يستدعي حدوث `RangeError: Maximum call stack size exceeded` باستخدام حمولة صغيرة الحجم (~2–10 كيلوبايت). بما أن `RangeError` ليس من نوع `YAMLParseError`، فإن التطبيقات التي تصطاد فقط أخطاء محددة لـ YAML ستواجه نوع استثناء غير متوقع. اعتماداً على آلية معالجة الاستثناءات في التطبيق المضيف، قد يؤدي ذلك إلى فشل الطلبات أو إنهاء عملية Node.js. تسمح تسلسلات التدفق (Flow sequences) بتداخل عميق باستخدام عدد قليل جداً من البايتات (بايتان لكل مستوى: واحد `[` وواحد `]`). على مكدس Node.js الافتراضي، يستنفد تداخل يتراوح بين 1,000 و5,000 مستوى (مدخلات بحجم 2–10 كيلوبايت) مكدس الاستدعاءات (call stack). يعتمد الحد الدقيق على البيئة (إصدار Node.js، حجم المكدس، وعمق مكدس الاستدعاءات عند الاستدعاء). ملاحظة: يستخدم `Parser` الخاص بالمكتبة (مرحلة CST) نهجاً تكرارياً قائماً على المكدس (stack-based iterative approach) وهو غير متأثر. فقط مرحلة التركيب/الحل (compose/resolve) تستخدم التكرار الفعلي لمكدس الاستدعاءات. جميع واجهات برمجة التطبيقات (APIs) العامة الثلاث للمعالجة متأثرة: `YAML.parse()` و `YAML.parseDocument()` و `YAML.parseAllDocuments()`. تحتوي الإصدارات 1.10.3 و 2.8.3 على تصحيح للثغرة.

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

مسؤول

GitHub M

حجز

20/03/2026

إفشاء

26/03/2026

الاعتدال

تمت الموافقة

إدخال

VDB-353740

EPSS

0.00470

KEV

لا

النشاطات

منخفض جدًا

المصادر

Interested in the pricing of exploits?

See the underground prices here!