CVE-2026-35582 in Emissary
الملخص
بحسب VulDB • 26/05/2026
Emissary هو محرك سير عمل قائم على البيانات ويعمل بنظام الند للند (P2P). في الإصدارات 8.42.0 وما دونها، تكون الدالة `Executrix.getCommand()` عرضة لإدخال أوامر النظام (OS command injection) لأنها تقوم بتضمين مسارات الملفات المؤقتة في سلسلة أمر قشرة `/bin/sh -c` دون أي هروب من الأحرف (escaping) أو تحقق من صحة المدخلات. تتدفق مفاتيح التكوين `IN_FILE_ENDING` و `OUT_FILE_ENDING` مباشرةً إلى هذه المسارات، مما يسمح لمؤلف المكان (place author) الذي يمكنه كتابة أو تعديل ملف `.cfg` بحقن أحرف خاصة بالقشرة (shell metacharacters) عشوائية تنفذ أوامر النظام في سياق أمان عملية JVM. يقوم الإطار بالفعل بتنظيف `placeName` عبر قائمة مسموح بها (allowlist) قبل تضمينه في نفس سلسلة الأوامر، لكنه لا يطبق تنظيفاً مكافئاً على قيم نهايات الملفات. لا تتطلب استغلال هذه الثغرة امتيازات تشغيلية تتجاوز صلاحيات مؤلف تكوين المكان، ولا تتطلب أي وصول إلى واجهة برمجة التطبيقات (API) أو الشبكة. هذه عيب على مستوى الإطار ولا يوجد حل وقائي آمن متاح للمنفذين من الدرجة التالية (downstream implementors)، حيث لا يوفر `Executrix` أي هروب من الأحرف أو شروطاً مسبقة موثقة ضد الأحرف الخاصة في مدخلات نهايات الملفات. تم إصلاح هذه المشكلة في الإصدار 8.43.0.
If you want to get best quality of vulnerability data, you may have to visit VulDB.