Fickling is a Python pickling decompiler and static analyzer. Fickling versions up to and including 0.1.6 do not treat Python's cProfile module as unsafe. Because of this, a malicious pickle that uses cProfile.run() is classified as SUSPICIOUS instead of OVERTLY_MALICIOUS. If a user relies on Fickling's output to decide whether a pickle is safe to deserialize, this misclassification can lead them to execute attacker-controlled code on their system. This affects any workflow or product that uses Fickling as a security gate for pickle deserialization. This issue has been patched in version 0.1.7.
Fickling versions up to 0.1.6 incorrectly classify malicious Python pickles using cProfile.run() as SUSPICIOUS instead of OVERTLY_MALICIOUS, allowing attackers to bypass security gates. Organizations relying on Fickling for pickle deserialization security decisions may inadvertently execute attacker-controlled code. The vulnerability has been patched in version 0.1.7.
تؤثر هذه الثغرة الأمنية على أداة Fickling المستخدمة لتحليل وفحص ملفات Python pickle. الخلل يكمن في عدم معاملة وحدة cProfile كوحدة غير آمنة، مما يؤدي إلى تصنيف خاطئ للحمولات الخبيثة. عندما يستخدم المهاجم دالة cProfile.run() في ملف pickle خبيث، تصنفه الأداة كمشبوه فقط بدلاً من خبيث بشكل واضح. هذا التصنيف الخاطئ يمكن أن يخدع المستخدمين والأنظمة الآلية التي تعتمد على تقييم Fickling لتحديد ما إذا كان ملف pickle آمناً لإلغاء التسلسل، مما يؤدي إلى تنفيذ تعليمات برمجية ضارة على الأنظمة المستهدفة.
الإصدارات حتى 0.1.6 من أداة Fickling تصنف بشكل خاطئ ملفات Python pickle الخبيثة التي تستخدم cProfile.run() على أنها مشبوهة بدلاً من خبيثة بشكل صريح، مما يسمح للمهاجمين بتجاوز بوابات الأمان. المؤسسات التي تعتمد على Fickling لاتخاذ قرارات أمان إلغاء تسلسل pickle قد تنفذ دون قصد تعليمات برمجية يتحكم فيها المهاجم. تم إصلاح الثغرة في الإصدار 0.1.7.
1. Immediately upgrade Fickling to version 0.1.7 or later across all systems and development environments that use it for pickle file validation.
2. Conduct a security audit of all workflows and automated systems that rely on Fickling's classification output to identify potential exposure to misclassified malicious pickles, and review logs for suspicious cProfile-related activity.
3. Implement defense-in-depth measures including sandboxing pickle deserialization operations, restricting pickle sources to trusted origins only, and deploying additional validation layers beyond Fickling for critical data processing pipelines.
1. الترقية الفورية لأداة Fickling إلى الإصدار 0.1.7 أو أحدث عبر جميع الأنظمة وبيئات التطوير التي تستخدمها للتحقق من ملفات pickle.
2. إجراء تدقيق أمني لجميع سير العمل والأنظمة الآلية التي تعتمد على مخرجات تصنيف Fickling لتحديد التعرض المحتمل لملفات pickle الخبيثة المصنفة بشكل خاطئ، ومراجعة السجلات للبحث عن نشاط مشبوه متعلق بـ cProfile.
3. تطبيق تدابير الدفاع المتعمق بما في ذلك عزل عمليات إلغاء تسلسل pickle في بيئات محمية، وتقييد مصادر pickle للمصادر الموثوقة فقط، ونشر طبقات تحقق إضافية تتجاوز Fickling لخطوط معالجة البيانات الحرجة.