تم العثور على ثغرة أمنية في Ghostscript قد تسمح بتنفيذ التعليمات البرمجية

قبل قليل من الأيام التي أطلقوا فيها الأخبار مما تم تحديده ثغرة أمنية في Ghostscript (CVE-2020-15900) ما يمكن يتسبب في تعديل الملف وتنفيذ الأمر التعسفي عند فتح مستندات PostScript المنسقة بشكل خاص.

بالنسبة لأولئك الذين ليسوا على دراية بـ Ghostscript يجب أن يعرفوا ذلك هذا محرك عرض لمحتوى بوستسكريبت و PDF ويستخدم بشكل شائع لتحويل مستندات PDF و Postscript إلى صور لأغراض المعاينة والصورة المصغرة والطباعة.

يتم استخدامه أيضًا لاستنساخ المستندات بجودة كاملة للعديد من مشاهدي PDF ، بما في ذلك المشاهدون المشهورون على Android ، وهو مرخص من قبل العديد من الشركات الكبيرة مثل Google للعرض في السحابة.

حول الثغرة الأمنية في Ghostscript

تم تحديد الخلل في استخدام عامل البحث rsearch بوستسكريبت غير قياسي في مستند يسمح بالتسبب في تجاوز نوع uint32_t عند حساب الحجم ، الكتابة فوق مناطق الذاكرة خارج المخزن المؤقت تعيين والوصول إلى الملفات الموجودة على نظام الملفات ، والتي يمكن استخدامها لشن هجوم لتنفيذ تعليمات برمجية عشوائية على النظام (على سبيل المثال ، عن طريق إضافة أوامر إلى ~ / .bashrc أو ~ / .profile).

دفع المقتطف الذي وجده AFL سلسلة فارغة إلى المكدس: الأقواس الفارغة () ، ونسخ المرجع إلى هذا ، مما أدى إلى تكديس مع سلسلتين فارغتين () () ثم قام بالبحث العكسي. بمعنى آخر ، كان يبحث عن سلسلة فارغة في سلسلة فارغة ، بدءًا من النهاية.

للأسف فاتهم حالة حدية حيث يتم البحث عن السلسلة الفارغة. عند البحث عن سلسلة فارغة ، يتم تعريف هذا على أنه نجاح فوري - لا يوجد شيء للبحث عنه ، لذلك نقفز مباشرة إلى النهاية. ومع ذلك ، يجب تقسيم النتيجة إلى قيم ما قبل المباراة ، والمباراة ، وقيم ما بعد المباراة. لسوء الحظ ، افترضنا الكود أننا نظرنا مرة واحدة على الأقل وحسبنا طول نتيجة ما بعد المباراة بشكل غير صحيح بطرح واحد من الصفر ، مما أدى إلى العودة إلى القيمة القصوى: 4,294,967,295،XNUMX،XNUMX،XNUMX.

هذا خطأ إنه عيب في تلف الذاكرة حيث يوجد احتمال للفشل ويحدث ذلك في كل وقت. لا داعي للتعامل مع واقيات المكدس وما إلى ذلك ، فقط اقرأ واكتب ما تريد إلى شريحة ذاكرة ضخمة. هذا جعل من السهل جدًا على شخص ليس كاتبًا متمرسًا في استغلال الثغرات أن يستغلها.

بسبب هذا التدفق، لم يتم تخصيص هذه السلسلة مطلقًا ولم تشغل مساحة حقيقية ، لكنها امتدت إلى ذاكرة أخرى. إن محاولة قراءة أو كتابة تلك الذاكرة في عناوين عشوائية ستخرج عن حدود الذاكرة ، وبالتالي فإن جميع الأخطاء في الغموض. ومع ذلك ، يمكننا تخزين المرجع للسماح باستخدامه باستخدام مقتطف الشفرة هذا:

من المهم أن تأخذ في الاعتبار ذلك نقاط الضعف في Ghostscript أكثر خطورةحيث يتم استخدام هذه الحزمة في العديد من تطبيقات معالجة PostScript و PDF الشائعة. على سبيل المثال ، يتم استدعاء Ghostscript عند إنشاء صور مصغرة على سطح المكتب ، وعند فهرسة البيانات في الخلفية ، وعند تحويل الصور.

للحصول على هجوم ناجح ، في كثير من الحالات ، يكفي تنزيل ملف استغلال أو تصفح الدليل به في Nautilus.

يمكن أيضًا استغلال الثغرات الأمنية في Ghostscript من خلال برامج تشغيل الصور استنادًا إلى حزم ImageMagick و GraphicsMagick ، ​​لتمرير ملف JPEG أو PNG ، والذي يحتوي على رمز PostScript بدلاً من صورة (ستتم معالجة الملف المذكور في Ghostscript ، نظرًا لأن نوع MIME يتم التعرف عليه بواسطة المحتوى ، وبدون الاعتماد على الامتداد).

حل

تؤثر المشكلة على الإصدارات 9.50 إلى 9.52 (كان الخطأ موجودًا منذ الإصدار 9.28rc1 ، ولكن وفقًا للباحثين الذين حددوا الثغرة الأمنية ، فقد ظهر منذ الإصدار 9.50).

ولكن تم بالفعل اقتراح إصلاح في الإصدار 9.52.1 بالإضافة إلى ذلك وتم نشر التحديثات حزم التصحيح لبعض توزيعات Linux مثل Debian و Ubuntu و SUSE.

في حين أن الحزم في RHEL لا تتأثر.

مصدر: https://insomniasec.com


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: AB Internet Networks 2008 SL
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.