PT-2026-3641
CVE-2025-56005
·
تاريخ النشر
2025-01-01
·
تاريخ التحديث
2026-09-17
الوصف من
CVSS 3.1
9.8
حرجةالمقاييسAV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
اسم البرنامج المعرض للخطر والإصدارات المتأثرة
PLY (Python Lex-Yacc) الإصدار 3.11
الوصف
تسمح ميزة غير موثقة وغير آمنة في مكتبة PLY بتنفيذ التعليمات البرمجية عن بُعد (RCE) عبر المعلمة
picklefile في الدالة yacc(). يقبل هذا المعامل ملفًا .pkl يتم فك تسلسله باستخدام pickle.load() دون أي تحقق من صحته. تسمح الوحدة النمطية pickle بتنفيذ التعليمات البرمجية المضمنة عبر reduce ()، مما يتيح للمهاجم تنفيذ التعليمات البرمجية من خلال توفير ملف pickle ضار. لم يتم توثيق هذا المعامل في المصادر الرسمية، لكنه لا يزال نشطًا. وهذا يفتح الباب أمام وجود باب خلفي محتمل ومخاطر الاستمرارية، لا سيما في السيناريوهات التي يتم فيها تخزين جداول المحلل في ذاكرة التخزين المؤقت أو مشاركتها، كما هو الحال في بيئات CI/CD أو مشاركات الشبكة. ترتبط هذه الثغرة الأمنية بإلغاء تسلسل البيانات غير الموثوق بها، وتحديدًا من خلال استخدام الوحدة النمطية pickle. قد يؤدي استغلال هذه الثغرة إلى تنفيذ تعليمات برمجية تعسفية بصفة مستخدم خدمة Python، مما قد يؤدي إلى سرقة بيانات الاعتماد، وتسميم سلسلة التوريد، ونشر برامج ضارة. وتعد الدالة yacc() نقطة الدخول لهذه المشكلة.التوصيات
قم بمراجعة جميع مواقع استدعاء
yacc.yacc() وتأكد من أن المعلمة picklefile لا يمكن تعريفها من مدخلات المستخدم أو المستودعات أو الإعدادات التي يتحكم فيها المستأجر.قم بتعطيل عملية التخزين المؤقت/التخزين في ذاكرة التخزين المؤقتة لجداول المحلل حيثما أمكن، أو فرض مسار ذاكرة التخزين المؤقتة
وجدت خطأً في الوصف؟ لديك ما تضيفه؟ لا تتردد في مراسلتنا 👾