مستغلة: 178
الأحدثCVE-2026-122193 — حقن أوامر نظام التشغيل في مستندات SSM النموذجية في Trusted Remote Execution (REX)
VulnFeed.org
AREN
8.7
CVE-2026-123792يتوفر تصحيح

Symfony: أوقات تحليل أسية وتربيعية في محلل YAML تسمح لمستند واحد بشغل عملية

sensiolabs symfonyقراءة 2 داقرأ بلغة

ترجمة آلية لم تُراجَع بعد. النص الإنجليزي هو المرجع في حال الاختلاف.

الملخص

تقوم مكونات Symfony Yaml مثل Inline و Parser بتحليل بعض مستندات YAML بشكل غير كفء، بحيث يمكن لمستند صغير مصمم خصيصاً أن يستغرق وقتاً طويلاً بشكل غير متناسب للمعالجة، مما يحافظ على شغل عملية PHP لثوانٍ أو دقائق، مما قد يتسبب في حجب الخدمة في إصدارات Symfony السابقة لـ 5.4.56، و 6.x السابقة لـ 6.4.50، و 7.x السابقة لـ 7.4.23، و 8.x السابقة لـ 8.1.11. يكرر المحلل العمل الذي قام به بالفعل في عدة أماكن. يتم تحليل التعيين المضمن في تسلسل تدفق مرة أخرى لكل قيمة عددي يتم إلحاقها به، وكذلك المجموعات المتداخلة فيه، لذا ينمو وقت التحليل بشكل أسي مع عمق التداخل. تقوم الأنماط المطابقة لمفاتيح التعيين والوسوم بفحص سلسلة من المسافات مرة واحدة لكل حرف من السلسلة، وتتم مطابقة كل قيمة عددي من مجموعة تدفق مع نسخة من بقية المجموعة، لذا ينمو وقت التحليل تربيعياً مع حجم الإدخال. يتم أيضاً نسخ الكتل المتداخلة في كل مستوى تداخل، مما يستلك الذاكرة والوقت أيضاً. تؤدي بعض الإنشاءات الأخرى، مثل عنصر تسلسل فارغ يليه سطر فارغ أو علامة مرجعية تحمل اسم 0، إلى عمل متكرر مشابه. يتأثر أي رمز يقوم بتحليل مستندات YAML غير موثوقة، باستخدام العلامات الافتراضية. في Symfony 7.4 والأحدث، يتضمن ذلك #[MapRequestPayload] عندما يكون مكون Yaml مثبتاً ولا تقيد نقطة النهاية acceptFormat. طلب واحد دون مصادقة بنوع محتوى YAML يبقي عامل PHP مشغولاً حتى الوصول إلى max_execution_time. تعتبر مستندات JSON صالحة كـ YAML، لذا فإن حمولة JSON المرسلة بنوع محتوى YAML كافية لحالة مجموعة التدفق. في Symfony 6.4، يقبل #[MapRequestPayload] تنسيق YAML فقط عندما يقوم التطبيق بتسجيل تنسيق طلب yaml.

المعالجة

المراجع

Esc