CVE-2026-33532
yaml عرضة لـ Stack Overflow عبر مجموعات YAML المتداخلة بعمق
- تم النشر
- 26/03/2026
- محدث
- 30/03/2026
- تخصيص CNA
- GitHub_M
- الأدلة المرصودة
- 25/08/2026
CVSS الأساسي
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:Lمنخفض · الثلاثين يومًا القادمة
- المئوية
- 39.7%
- تاريخ الموديل
- 21/09/2026
EPSS هو تقدير إحصائي، وليس يقينًا أو مقياسًا للتأثير. ادمجها مع CVSS وحالة KEV والتعرض وبيئتك.
ملخص
`yaml` هو محلل ومُسلسِل بصيغة YAML مكتوب بلغة JavaScript. قد يؤدي تحليل مستند YAML باستخدام إصدار من `yaml` على الفرع 1.x قبل الإصدار 1.10.3 أو على الفرع 2.x قبل الإصدار 2.8.3 إلى إلقاء خطأ من نوع RangeError بسبب تجاوز سعة المكدس (stack overflow). تستخدم مرحلة حل/تكوين العقد (node resolution/composition phase) استدعاءات دالة تكرارية بدون حد أقصى للعمق. يمكن للمهاجم الذي يمكنه توفير YAML للتحليل أن يُطلق خطأ `RangeError: Maximum call stack size exceeded` بحمولة صغيرة (~2–10 كيلوبايت). خطأ `RangeError` ليس خطأ `YAMLParseError`، لذا فإن التطبيقات التي تلتقط أخطاء YAML المحددة فقط ستواجه نوع استثناء غير متوقع. اعتمادًا على معالجة الاستثناءات في التطبيق المضيف، قد يؤدي ذلك إلى فشل الطلبات أو إنهاء عملية Node.js. تسمح تسلسلات التدفق (flow sequences) بالتداخل العميق مع حد أدنى من البايتات (2 بايت لكل مستوى: `[` واحدة و `]` واحدة). على مكدس Node.js الافتراضي، يؤدي ما يقارب 1,000–5,000 مستوى من التداخل (إدخال بحجم 2–10 كيلوبايت) إلى استنفاد مكدس الاستدعاءات. الحد الدقيق يعتمد على البيئة (إصدار Node.js، حجم المكدس، عمق مكدس الاستدعاءات عند الاستدعاء). ملاحظة: يستخدم `Parser` الخاص بالمكتبة (مرحلة CST) نهجًا تكراريًا قائمًا على المكدس ولا يتأثر بهذه المشكلة. فقط مرحلة التكوين/الحل (compose/resolve phase) تستخدم التكرار الفعلي لمكدس الاستدعاءات. جميع واجهات برمجة التطبيقات الثلاث للتحليل العام متأثرة: `YAML.parse()` و `YAML.parseDocument()` و `YAML.parseAllDocuments()`. يحتوي الإصداران 1.10.3 و 2.8.3 على تصحيح لهذه المشكلة.
المصادر
1مستودع مخصص لـ CVE-2026-33532، يوفّر تحليلاً وإثبات مفهوم محتمل لثغرة ويب.
الاستخدام المسؤول
استخدم معلومات الثغرات الأمنية فقط على الأنظمة التي تمتلكها أو المرخص لها باختبارها. يرتبط Kitploit ببيانات تعريف البحث العامة ولا يخزن أكواد الاستغلال أو الحمولات الضارة.