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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-23907 — إثبات مفهوم لاستغلال ثغرة اجتياز المسار في Apache PDFBox (CVE-2026-23907)، يوضح كتابة ملفات تعسفية عبر ملفات PDF ضارة تحتوي على ملفات مضمّنة. | Kitploit
أدوات/GitHubGitHub/joakimbulow/cve-2026-23907
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبتحليل البرمجيات الخبيثةاختبار الاختراقتحليل الملفات الثنائية
GitHubjoakimbulow/cve-2026-23907

CVE-2026-23907

إثبات مفهوم لاستغلال ثغرة اجتياز المسار في Apache PDFBox (CVE-2026-23907)، يوضح كتابة ملفات تعسفية عبر ملفات PDF ضارة تحتوي على ملفات مضمّنة.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

ثغرة اجتياز المسار في Apache PDFBox

ملخص الثغرة

الوصف

لا يقوم الكود المثال ExtractEmbeddedFiles في Apache PDFBox بتعقيم أسماء الملفات عند استخراج الملفات المدمجة من ملفات PDF. يمكن للمهاجم تضمين ملفات تحتوي على تسلسلات اجتياز المسار (../) لكتابة ملفات في مواقع عشوائية على نظام الملفات.

الكود المعرض للخطر

الملف: pdfbox/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/ExtractEmbeddedFiles.java

root@kitploit:~
private static void extractFile(String filePath, String filename, PDEmbeddedFile embeddedFile)
        throws IOException
{
    String embeddedFilename = filePath + filename;  // NO SANITIZATION
    File file = new File(embeddedFilename);
    File parentDir = file.getParentFile();
    if (!parentDir.exists())
    {
        parentDir.mkdirs();  // Creates arbitrary directories
    }
    try (FileOutputStream fos = new FileOutputStream(file))
    {
        fos.write(embeddedFile.toByteArray());  // Writes to arbitrary location
    }
}

تأتي معلمة filename مباشرة من ملف PDF دون أي تحقق.

التأثير

  • كتابة ملفات عشوائية: كتابة ملفات في أي مكان يملك التطبيق صلاحيات الوصول إليه
  • تصعيد الامتيازات: استبدال مفاتيح SSH وملفات الإعدادات
  • تنفيذ كود عن بُعد: استبدال الملفات التنفيذية ومهام cron وخدمات systemd
  • تدمير البيانات: استبدال ملفات النظام الحرجة

سيناريوهات الهجوم

  1. حقن مفاتيح SSH

    • اسم الملف المدمج: ../../.ssh/authorized_keys
    • المحتوى: المفتاح العام للمهاجم
    • النتيجة: وصول عبر SSH
  2. حقن مهام Cron

    • اسم الملف المدمج: ../../../etc/cron.d/malicious
    • المحتوى: سكربت خبيث
    • النتيجة: تصعيد الامتيازات + استمرارية
  3. استبدال ملفات الإعدادات

    • اسم الملف المدمج: ../../config/database.yml
    • المحتوى: بيانات اعتماد خبيثة
    • النتيجة: تسريب البيانات

إثبات المفهوم

الملفات المرفقة

  • create_malicious_pdf.py - إنشاء ملف PDF خبيث مع اجتياز المسار
  • TestPathTraversal.java - يوضح الثغرة
  • test_path_traversal.sh - سكربت اختبار آلي
  • malicious_path_traversal.pdf - ملف PDF خبيث مُنشأ مسبقًا

تشغيل إثبات المفهوم

اختبار سريع

root@kitploit:~
./test_path_traversal.sh

اختبار يدوي

root@kitploit:~
# 1. إنشاء ملف PDF خبيث
python3 create_malicious_pdf.py

# 2. تجميع الاختبار (يتطلب ملف PDFBox JAR)
javac -cp pdfbox-app.jar TestPathTraversal.java

# 3. تشغيل الاختبار
java -cp .:pdfbox-app.jar TestPathTraversal malicious_path_traversal.pdf

# 4. التحقق من اجتياز المسار
cat /tmp/path_traversal_poc

المخرجات المتوقعة

root@kitploit:~
PATH TRAVERSAL DETECTED!
Expected path prefix: /current/working/directory
Actual path: /tmp/path_traversal_poc

الإصدارات المتأثرة

  • Apache PDFBox 3.0.6 - مؤكد تأثره بالثغرة

المكونات المتأثرة

  • الكود المثال ExtractEmbeddedFiles.java
  • التطبيقات التي تستخدم أنماطًا مشابهة
  • أي كود يستدعي PDComplexFileSpecification.getFilename() دون تعقيم
تنزيل الأداة