
أداة لـ CVE-2018-16323
CVE-2018-16323 هو تسريب للذاكرة في معالجة صور XBM. بعد تحويل صورة XBM إلى نوع آخر من الصور، يمكنك استخراج البايتات المسربة من الذاكرة من بيانات الصورة.
اكتُشفت بواسطة d4d.
أداة بسيطة جداً لتوليد إثبات المفهوم (PoC) لـ CVE-2018-16323. يحتوي الدليل samples على بعض إثباتات المفهوم المجهزة مسبقاً وسهلة الاستخدام.
لاستخدام هذه الأداة، يجب تثبيت imagemagick:
apt-get -y install imagemagick
وتحقق من ذلك:
convert -v
أي إصدار مناسب.
Usage poc generator: ./XBadManners.sh gen WIDTHxHEIGHT NAME.xbm [minimal]
Example gen: ./XBadManners.sh gen 512x512 poc.xbm
Example gen: ./XBadManners.sh gen 1024x1024 poc_minimal.xbm minimal
Usage result recovery: ./XBadManners.sh recover SAVED_PREVIEW.png|jpeg|gif|etc
Example recovery: ./XBadManners.sh recover avatar.png
الوضع minimal يتيح لك توليد أصغر جسم ممكن لملف XBM للصقه في BurpSuite أو أي مكان تريده. تم اختبار الوضع الأدنى وهو يعمل بشكل جيد. يمكنك تعيين أي عرض وارتفاع في هذا الوضع.
لاحظ أنه يمكنك استخراج الكثير من الذاكرة باستخدام صورة واحدة. القيد الوحيد هو حد أقصى لحجم الصورة الناتجة من الجهة الخلفية (backend).
يمكنك محاولة استعادة preview.png. إذا حصلت على كلمات مقروءة في المخرجات فهذا يعني أن كل شيء يعمل بشكل جيد.
./XBadManners.sh gen 512x512 poc.xbm./XBadManners.sh recover result.pngعلامة جيدة إذا تغيرت المعاينة بشكل كبير من عملية رفع إلى أخرى.
وضع الاسترداد أُنشئ لفحص سريع ويجب أن يعمل بشكل جيد مع أي تنسيق صور يدعمه ImageMagick، لكنه اختُبر فقط مع png وjpeg وgif. يمكنك ضبط منطق استخراج الذاكرة من الصورة بتعديل السكربت (إنه بسيط لكنه قبيح).

XBM هو تنسيق أبيض وأسود. لذا، ستكون أي نتيجة شبيهة بالحمار الوحشي (إذا كان لديك خيال جيد). بشكل أساسي، المزيد من الأسود == المزيد من البيانات المستخرجة.
كل إصدار من ImageMagick بعد هذا الالتزام وقبل هذا الالتزام يكون معرضاً للثغرة.