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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-24688 — إثبات مفهوم لاستغلال CVE-2026-24688، وهي ثغرة رفض خدمة في تحليل المخطط التفصيلي في pypdf. يتضمن مولّد PDF خبيث ونصوص إعادة إنتاج توضح استنزاف الذاكرة وتعطل النظام. | Kitploit
أدوات/GitHubGitHub/joakimbulow/cve-2026-24688
تحليل الثغرات الأمنيةالاستغلالالاختبار العشوائيالأوراق والأبحاثالتعلم والتعليم
GitHubjoakimbulow/cve-2026-24688

CVE-2026-24688

إثبات مفهوم لاستغلال CVE-2026-24688، وهي ثغرة رفض خدمة في تحليل المخطط التفصيلي في pypdf. يتضمن مولّد PDF خبيث ونصوص إعادة إنتاج توضح استنزاف الذاكرة وتعطل النظام.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-24688 - pypdf - ثغرة رفض الخدمة (DoS) بسبب المراجع الدائرية

يتضمن هذا المستودع كود إثبات المفهوم (PoC) لاستغلال CVE-2026-24688.

ملخص

ثغرة حرجة لرفض الخدمة (DoS) في منطق تحليل المخطط التفصيلي (المرجعية) في pypdf. عند معالجة ملف PDF يحتوي على مراجع دائرية في المخطط التفصيلي، يدخل المحلل في حلقة لا نهائية تقوم باستمرار بتخصيص الذاكرة، مما يستهلك مئات الميغابايتات من الذاكرة في الثانية على جهازي، ويؤدي إلى انهيار كامل للنظام.

هذا رفض خدمة على مستوى النظام، وليس مجرد تجمّد للتطبيق.


المحتويات

  • malicious_circular_outline.pdf - ملف PDF استغلالي بمراجع دائرية في المخطط التفصيلي (754 بايت)
  • create_malicious_pdf.py - سكربت لإنشاء ملف PDF الاستغلالي
  • simple_read_pdf.py - سكربت اختبار بسيط لإعادة إنتاج الثغرة
  • test_pypdf.sh - سكربت اختبار آلي (يثبّت pypdf ويشغّل الاختبار)
  • README.md - هذا الملف

تحذير: قد تتسبب هذه الاختبارات في انهيار نظامك إذا لم تراقب استهلاك الذاكرة وتلغيها في الوقت المناسب.


الاختبار الآلي (غير آمن)

root@kitploit:~
# تشغيل سكربت الاختبار الآلي (مع حماية المهلة الزمنية)
chmod +x test_pypdf.sh
./test_pypdf.sh

# سيؤدي هذا إلى:
# 1. تثبيت الإصدار الضعيف من pypdf
# 2. تشغيل الاختبار مع مهلة زمنية 15 ثانية
# 3. إظهار سلوك استهلاك الذاكرة

الاختبارات اليدوية

الاختبار 1: اختبار مُتحكم به (10 ثوانٍ مع مهلة زمنية)

root@kitploit:~
# تثبيت pypdf (الإصدار الضعيف 6.6.0)
pip install "pypdf==6.6.0"

# التشغيل مع مهلة زمنية
timeout 10s python3 simple_read_pdf.py malicious_circular_outline.pdf

الاختبار 2: اختبار الانهيار الكامل (غير آمن)

root@kitploit:~
# تثبيت pypdf (الإصدار الضعيف 6.6.0)
pip install "pypdf==6.6.0"

# التشغيل بدون مهلة زمنية
python3 simple_read_pdf.py malicious_circular_outline.pdf

تفاصيل الثغرة

الكود الضعيف

الموقع: pypdf/_doc_common.py - طريقة _get_outline() (الأسطر 858-873)

root@kitploit:~
def _get_outline(self, node, outline=None):
    while True:  # ❌ لا يوجد كشف للدورات!
        outline_obj = self._build_outline_item(node)
        if outline_obj:
            outline.append(outline_obj)  # ❌ تخصيص ذاكرة في الحلقة!
        
        if "/Next" not in node:
            break
        node = node["/Next"]  # ❌ يتبع المراجع الدائرية

السبب الجذري: لا توجد مجموعة للزيارات، ولا حد لعدد التكرارات، وتخصيص مستمر للذاكرة


التأثير

نتائج الاختبار المؤكدة

اختبار واقعي:

  • النتيجة: انهيار النظام، يتطلب إعادة تشغيل قسرية
  • الجدول الزمني: ~5 دقائق حتى فشل النظام الكامل
  • الذاكرة: استهلاك أكثر من 30 جيجابايت
  • المعالجات: جميع النوى 100% (تباطؤ شديد في النظام)

خصائص الهجوم:

  • ✅ 100% من المعالج (فوري)
  • ✅ نمو خطي للذاكرة
  • ✅ فشل على مستوى النظام بأكمله
  • ✅ يتطلب إعادة تشغيل قسرية
  • ✅ احتمال فقدان البيانات

الإصلاح

تم إصلاح الثغرة في الإصدار 6.6.2

https://github.com/py-pdf/pypdf/security/advisories/GHSA-2q4j-m29v-hq73

تنزيل الأداة