Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-79983 — أداة إثبات مفهوم قابلة للتشغيل لإعادة إنتاج CVE-2026-79983، وهو اجتياز مسار في مستهلكي Apache Camel camel-ftp، مع تجهيزات خادم FTP خبيثة ونسخ بناء متأثرة مقابل مُصلحة. | Kitploit
أدوات/GitHubGitHub/oscerd/cve-2026-79983
أدوات دفاعيةتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليم
GitHuboscerd/cve-2026-79983

CVE-2026-79983

أداة إثبات مفهوم قابلة للتشغيل لإعادة إنتاج CVE-2026-79983، وهو اجتياز مسار في مستهلكي Apache Camel camel-ftp، مع تجهيزات خادم FTP خبيثة ونسخ بناء متأثرة مقابل مُصلحة.

عرض المستودع
12منذ 3 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-79983 — camel-ftp: يبني المستهلك المسار البعيد من قائمة الخادم دون احتواء

مُعيد إنتاج إثبات مفهوم قابل للتشغيل لثغرة Apache Camel حيث تستعلم مستهلكات الملفات البعيدة عن دليل على خادم بعيد وتبني المسار البعيد المطلق لكل ملف عبر دمج الدليل المُهيأ مع اسم الملف المُبلَّغ عنه في قائمة دليل الخادم، دون تطبيع معجمي ودون التحقق من بقاء النتيجة داخل الدليل المُستعلَم عنه. يصبح ذلك المسار بعد ذلك معاملًا للاسترجاع (دائمًا)، وللحذف أو إعادة التسمية عند تهيئة delete=true أو move أو preMove أو moveFailed أو readLock=rename.

اسم القائمة ليس بيانات يتحكم بها المسار — بل يوفره الخادم البعيد، وقناة تحكم FTP لا تتمتع بحماية سلامة، لذا يمكن لمهاجم على المسار إعادة كتابة استجابة LIST، ويمكن لخادم مخترق أو متعدد المستأجرين إصدار مثل هذا الاسم مباشرةً. خيار jailStartingDirectory الموثّق والمُفعَّل افتراضيًا لم يقيّد هذا المعامل البعيد.

بيئة التشغيلالدليلالمكدس
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-ftp 4.22.0 (متأثر؛ مُصلَح في 4.22.1)
Camel Quarkuscamel-quarkus/Quarkus 3.29.0 + camel-quarkus-ftp 3.29.0 (Camel 4.15.0، متأثر)

يأتي الإصلاح في Camel 4.18.5 / 4.22.1 / 4.23.0؛ تشغّل وحدة Spring Boot كلاً من البناء المتأثر (4.22.0) والبناء المُصلَح (4.22.1). لا توجد نسخة Camel Quarkus مُصدَرة بعد تتضمن Camel مُصلَحًا.

ما الذي يوضحه

يتضمن التطبيق خادم FTP خبيثًا عمدًا (Apache MINA FtpServer مع VFS في الذاكرة) يُدرج، في الدليل المُستعلَم عنه /upload:

  • normal.txt — ملف شرعي داخل الدليل، و
  • d/../../outside.txt — إدخال مصنوع اسمه ليس مقطع مسار واحدًا. لا يبدأ بنقطة (لذا لا تلتقطه قاعدة الملفات المخفية في Camel)، و/upload + d/../../outside.txt يُحلَّل إلى /outside.txt، على مستوى أعلى من الدليل المُستعلَم عنه.

يستعلم مستهلك FTP عادي في Camel عن /upload. على البناء المتأثر يسترجع كلا الإدخالين — بما في ذلك /outside.txt، وهو ملف لا ينبغي أن يصل إليه. على البناء المُصلَح يحتفظ بـ normal.txt ويتخطى الإدخال الهارب، مع تسجيل Skipping file as it resolves outside the starting directory: upload/d/../../outside.txt.

cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker compose down

الناتج المتوقع على البناء المتأثر:

What the Camel consumer retrieved:
    name=[normal.txt]  (inside)
    name=[d/../../outside.txt]  <<< FILE FROM OUTSIDE THE POLLED DIRECTORY
        content: OUTSIDE-SECRET (/outside.txt, a file the consumer should never reach)

Paths the server was asked to read:
    upload/normal.txt  ->  /upload/normal.txt
    upload/d/../../outside.txt  ->  /outside.txt

ملخص الثغرة الأمنية

الخاصيةالقيمة
المكوّنcamel-ftp (مخططات ftp وftps وsftp)
CWECWE-22 (التقييد غير الصحيح لاسم المسار إلى دليل محظور)
الخطورةعالية
ناقل الهجومإدخال LIST (يوفّره الخادم، وقابل لإعادة الكتابة عبر قناة تحكم FTP غير مصادَق عليها) لا يمثّل مقطع مسار واحدًا
التأثيرالقراءة — ومع delete/move/readLock=rename، الحذف أو إعادة التسمية — لملفات خارج الدليل المُستقصى، باستخدام بيانات اعتماد نقطة النهاية
الإصدارات المتأثرةمن 4.0.0 قبل 4.18.5، ومن 4.19.0 قبل 4.22.1
الإصدارات المُصلحة4.18.5، 4.22.1، 4.23.0
JIRACAMEL-24487
الفضلDilrevx من NSSL، SJTU

الإشعار الأمني: https://camel.apache.org/security/CVE-2026-79983.html

الإصلاح

يقوم تحميل زائد لـ GenericFileHelper.isWithinDirectory يراعي الفواصل، واستراتيجية GenericFileConsumer.isWithinStartingDirectory (يُرجَع إليها من isValidFile عند تفعيل jailStartingDirectory) بضغط المسار المُحلَّل والتحقق، على حدود مقاطع المسار، من أنه لا يزال يُحلَّل داخل الدليل المُستقصى. يُتخطّى أي ملف يُحلَّل خارج ذلك مع تسجيل تحذير (بحيث تُعالَج الإدخالات الشرعية الأخرى في القائمة نفسها). تتجاوز RemoteFileConsumer وSmbConsumer هذا الفحص؛ أما التنفيذ الأساسي المحلي فهو بلا تأثير، لأن أسماء القوائم المحلية دائمًا مقاطع مفردة.

التخفيف إذا تعذّر الترقية

فضّل sftp/ftps على ftp حتى لا يمكن إعادة كتابة القائمة أثناء النقل، وتحقق من مفتاح المضيف/الشهادة. قيّد المستهلك باستخدام filter أو antInclude أو include لقبول الأسماء المفردة المقطع فقط، وتجنّب delete=true/move/preMove/moveFailed/readLock=rename مع خوادم لا تكون قوائمها موثوقة بالكامل. حيثما أمكن، احصر حساب الخادم في الدليل المُستقصى.

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

يُنشر هذا المستودع لأغراض تعليمية ودفاعية: لمساعدة مستخدمي Apache Camel على فهم الثغرة الأمنية، والتحقق مما إذا كانوا متأثرين بها، وتأكيد أن الترقية تحلّها. الخادم الخبيث و"السر" هما عناصر محلية خاملة. لا تستخدم هذه المواد ضد أنظمة لا تملكها أو لا تديرها.

تنزيل الأداة