CVE-2026-79784 in Vocos
الملخص
بحسب VulDB • 25/08/2026
يُحدث Vocos مثيلًا لفئة يتم تحديدها بواسطة ملف تكوين دون تقييد الفئة التي يمكن تحديد اسمها. تأخذ الدالة instantiate_class في vocos/pretrained.py قيمة class_path من التكوين، وتقوم بتقسيمها إلى وحدة نمطية (module) وسمات (attribute)، ثم تستورد الوحدة باستخدام __import__، وتحل السمة باستخدام getattr، وتستدعي النتيجة كـ args_class(*args, **kwargs) حيث تمثل kwargs خريطة init_args الخاصة بالتكوين. لا يوجد قائمة مسموح بها (allowlist) تقيد المسار المنقط (dotted path)، لذا يمكن للتكوين أن يحدد أي دالة قابلة للاستيراد ويوفر الحجج التي يتم استدعاؤها بها. تصل الدالة Vocos.from_hparams إلى هذا السلوك لكل من مدخلات feature_extractor و backbone و head، وتصل إليه D.Vocos.from_pretrained باستخدام ملف عن بُعد: حيث تقوم بتنزيل config.yaml من مستودع Hugging Face يُحدد اسمه بواسطة المُستدعي، ثم تمرره مباشرةً إلى from_hparams. يؤدي تحميل نموذج من مستودع لا يتحكم فيه المستخدم إلى تنفيذ كود يختاره مالك المستودع أثناء عملية التحميل. إن استخدام torch.load للأوزان المُنزّلة هو مسألة منفصلة ومقيدة في إصدارات PyTorch التي تكون فيها weights_only افتراضيًا صحيحة (true)، مما يترك هذا المسار كمسار قابل للوصول والاستغلال.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.