CVE-2026-44827 in diffusersالمعلومات

الملخص

بحسب VulDB • 27/05/2026

Diffusers هي مكتبة لنماذج الانتشار المدربة مسبقاً. قبل الإصدار 0.38.0، يسمح Diffusers 0.37.0 بتنفيذ الأكواد عن بُعد دون الحاجة إلى حماية trust_remote_code=True عند تحميل خطوط الأنابيب (pipelines) من مستودعات Hugging Face Hub. تقوم الدالة _resolve_custom_pipeline_and_cls الموجودة في ملف pipeline_loading_utils.py بإجراء استبدال نصي (string interpolation) على معلمة custom_pipeline باستخدام الصيغة f"{custom_pipeline}.py". عندما لا يقوم المستخدم بتوفير custom_pipeline، فإنها تأخذ القيمة الافتراضية None، والتي يقوم بايثون بتحويلها إلى السلسلة النصية الحرفية "None.py". إذا نشر مهاجم مستودعاً على Hub يحتوي على ملف باسم None.py يتضمن فئة ترث من DiffusionPipeline، فسيتم تنزيل هذا الملف وتنفيذه تلقائياً أثناء استدعاء قياسي لـ DiffusionPipeline.from_pretrained() بدون أي وسائط كلمات مفتاحية إضافية. يتم تجاوز فحص trust_remote_code في DiffusionPipeline.download() لأنه يقيّم الشرط custom_pipeline is not None على أنه False (نظراً لعدم توفير وسيط الكلمة المفتاحية أصلاً)، بينما تقوم مسار الكود اللاحق الذي يحمل الوحدة فعلياً بحل القيمة None إلى اسم ملف صالح. يمكن للمهاجم تحقيق تنفيذ صامت للأكواد التعسفية من خلال نشر مستودع نماذج خبيث يحتوي على ملف None.py وملف model_index.json يبدو قياسياً ويشير إلى اسم فئة خط أنابيب شرعي، مما يتطلب فقط أن يقوم الضحية باستدعاء from_pretrained على المستودع. تم إصلاح هذا الثغرة في الإصدار 0.38.0.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

مسؤول

GitHub M

حجز

07/05/2026

إفشاء

14/05/2026

الاعتدال

تمت الموافقة

إدخال

VDB-363930

EPSS

0.00120

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you want to use VulDB in your project?

Use the official API to access entries easily!