Fickling is a Python pickling decompiler and static analyzer. Prior to version 0.1.7, the unsafe_imports() method in Fickling's static analyzer fails to flag several high-risk Python modules that can be used for arbitrary code execution. Malicious pickles importing these modules will not be detected as unsafe, allowing attackers to bypass Fickling's primary static safety checks. This issue has been patched in version 0.1.7.
Fickling Python pickle decompiler versions prior to 0.1.7 contain a critical flaw in the unsafe_imports() method that fails to detect several high-risk Python modules used for arbitrary code execution. Malicious pickle files importing these dangerous modules bypass Fickling's static safety checks, allowing attackers to execute arbitrary code undetected. Exploitation code exists and patches are available in version 0.1.7.
تمثل هذه الثغرة خللاً أمنياً خطيراً في أداة Fickling المستخدمة لتحليل وفحص ملفات Python pickle. تكمن المشكلة في فشل دالة unsafe_imports() في تحديد وحدات Python الخطرة التي يمكن استخدامها لتنفيذ تعليمات برمجية عشوائية على النظام المستهدف. يستطيع المهاجمون صياغة ملفات pickle خبيثة تستورد هذه الوحدات الخطرة وتتجاوز آليات الفحص الأمني الثابتة في Fickling، مما يؤدي إلى تنفيذ تعليمات برمجية ضارة دون إطلاق أي تنبيهات أمنية. تصنف الثغرة ضمن CWE-184 المتعلقة بالتحقق غير الكامل من القائمة السوداء، وتحمل درجة خطورة 7.8 على مقياس CVSS.
تحتوي إصدارات محلل ملفات Python pickle من Fickling الأقدم من 0.1.7 على ثغرة حرجة في دالة unsafe_imports() التي تفشل في اكتشاف عدة وحدات Python عالية الخطورة تُستخدم لتنفيذ تعليمات برمجية عشوائية. تتجاوز ملفات pickle الخبيثة التي تستورد هذه الوحدات الخطرة فحوصات السلامة الثابتة في Fickling، مما يسمح للمهاجمين بتنفيذ تعليمات برمجية عشوائية دون اكتشاف. يوجد كود استغلال وتتوفر تصحيحات في الإصدار 0.1.7.
1. Immediately upgrade Fickling to version 0.1.7 or later across all development, testing, and production environments where Python pickle file analysis is performed.
2. Conduct comprehensive security review of all pickle files previously analyzed by vulnerable Fickling versions, implementing additional validation layers and sandboxed execution environments for untrusted pickle data.
3. Implement defense-in-depth controls including input validation, least privilege execution contexts, and runtime monitoring for Python deserialization operations, while establishing secure coding guidelines prohibiting pickle usage for untrusted data sources.
1. الترقية الفورية لأداة Fickling إلى الإصدار 0.1.7 أو أحدث في جميع بيئات التطوير والاختبار والإنتاج حيث يتم تحليل ملفات Python pickle.
2. إجراء مراجعة أمنية شاملة لجميع ملفات pickle التي تم تحليلها سابقاً بواسطة إصدارات Fickling المتأثرة، مع تطبيق طبقات تحقق إضافية وبيئات تنفيذ معزولة لبيانات pickle غير الموثوقة.
3. تطبيق ضوابط دفاعية متعددة الطبقات تشمل التحقق من المدخلات وسياقات التنفيذ بأقل الصلاحيات والمراقبة الفورية لعمليات إلغاء التسلسل في Python، مع وضع إرشادات برمجة آمنة تمنع استخدام pickle لمصادر البيانات غير الموثوقة.