
CVE-2023-44451، CVE-2023-52076: ثغرة تنفيذ التعليمات البرمجية عن بُعد (RCE) تؤثر على توزيعات لينكس الشهيرة بما في ذلك Mint وKali وParrot وManjaro وغيرها. تحليل ملفات EPUB يتضمن اجتياز الدليل وتنفيذ التعليمات البرمجية عن بُعد.
ثغرة RCE تؤثر على توزيعات لينكس الشهيرة بما في ذلك Mint وKali وParrot وManjaro وغيرها. استغلال ثغرة اجتياز المسار في تحليل ملفات EPUB لتنفيذ الأوامر عن بُعد
تم اكتشاف ثغرة حرجة من نوع اجتياز المسار وكتابة ملفات عشوائية في برنامج عارض المستندات الافتراضي في بيئة MATE وLinux Mint على نظام لينكس، مما يؤثر على أنظمة التشغيل الشهيرة مثل Kali Linux وParrot Security OS وUbuntu-Mate وLinux Mint وXubuntu وجميع أنظمة التشغيل الأخرى التي تستخدم MATE أو Atril/Xreader كعارض مستندات افتراضي.
توجد الثغرة في Atril Document Viewer وXreader Document Viewer وهما عارضا المستندات الافتراضيان لبيئة MATE وLinux Mint على التوالي. Atril هو قارئ المستندات الافتراضي لـ Kali Linux وUbuntu-Mate وParrot Security OS وXubuntu، بينما Xreader هو قارئ المستندات الافتراضي لـ Linux Mint.
هذه الثغرة قادرة على كتابة ملفات عشوائية في أي مكان على نظام الملفات يمكن للمستخدم الذي يفتح مستندًا مُعدًا خصيصًا الوصول إليه، والقيود الوحيدة هي أن هذه الثغرة لا يمكن استغلالها لاستبدال الملفات الموجودة، لكن ذلك لا يمنع المهاجم من تحقيق تنفيذ الأوامر عن بُعد على النظام المستهدف.
لا يمكن استغلال هذه الثغرة لاستبدال الملفات الموجودة، بل يمكنها فقط إنشاء ملفات جديدة في أي مواقع محددة، لكن ذلك لا يمنعنا من تحقيق RCE. جربت استخدام الثغرة لكتابة إدخال .desktop تحت $HOME/.config/autostart ثم سجلت الخروج وسجلت الدخول مرة أخرى، فتم تشغيل إدخال .desktop الخبيث وحققت تنفيذ الأوامر عن بُعد. كما جربت وضع ملف authorized_keys تحت دليل .ssh/ وحققت RCE عبر SSH. ملاحظة: إذا لم يكن الدليل موجودًا، فسيتم إنشاء الدليل تلقائيًا.
من يعرف تنسيق الكتب الإلكترونية؟ ألم ينتقل الجميع إلى PDF؟
الجواب هو لا، لا يزال EPUB تنسيق مستندات شائعًا وقويًا، لكن الكثير من الناس يفضلون PDF. معظمهم على دراية بملفات PDF. لذلك، كنت أحاول تعظيم تأثير هذه الثغرة. شيء آخر مثير للاهتمام لاحظته هو أنه عند إعادة تسمية مستند .epub إلى شيء.pdf، يحاول عارض المستندات المعرض للثغرة (Atril/Xreader) فتح ملف شيء.pdf وقراءته كمستند EPUB لأنه مسؤول عن قراءة كل من EPUB وPDF، كما أنه يدعم العديد من تنسيقات المستندات الأخرى أيضًا. بمعنى آخر، يمكننا إعادة تسمية شيء.epub المُعد خصيصًا إلى شيء.pdf ثم إرساله إلى الهدف لتحقيق RCE على الهدف.
إذن كل شيء على ما يرام، يمكننا إنشاء استغلال يصنع زوج epub/pdf لكتابة إدخالات .desktop خبيثة تحت دليل /home//.config/autostart/. لكن هناك مشكلة صغيرة، اسم مستخدم الهدف مطلوب لنجاح استغلال هذه الثغرة. ماذا لو لم نعرف اسم المستخدم؟ لا RCE سهلة؟ هل يمكنك تخمين اسم المستخدم؟ هل نحتاج إلى تجربة أسماء مستخدمين شائعة عشوائية؟ لنرى ما حصلت عليه..
بعد مزيد من التحليل، اكتشفت أنه يمكننا استخدام /proc/self/cwd للوصول إلى الدليل الرئيسي للمستخدم إذا قام بتنزيل المستند المُعد خصيصًا وفتحه في مكان ما داخل دليله الرئيسي مثل دليل ~/Downloads/ أو ~/Documents/. لذا يمكننا استغلال ثغرة اجتياز المسار لتحقيق RCE فقط باستخدام الأداة ../../../../../proc/self/cwd/../.config/autostart/exploit.desktop.
لقد أنشأت استغلالًا يعمل بكامل طاقته لهذه الثغرة (exploit_rce.sh) وسكربتًا لكتابة وتضمين ملفات مخصصة لاجتياز المسار (exploit_file_write.sh).
ملاحظة: في Atril الخاص بـ MATE لم يتم إصلاح الثغرة، والمطورون يعملون على تصحيحها. لذلك أضفت سكربت كشف (detect.sh) لكشف مستندات EPUB الخبيثة وتنظيفها قبل فتحها.
