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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-4517-Python-tarfile-filter-data-Bypass-PoC — إثبات مفهوم لاستغلال CVE-2025-4517، وهي ثغرة اجتياز المسار في وضع الحماية filter='data' الخاص بوحدة tarfile في بايثون، مما يتيح كتابة ملفات عشوائية خارج دليل الاستخراج عبر سلاسل روابط رمزية مصممة بعناية. | Kitploit
أدوات/GitHubGitHub/estebanzarate/cve-2025-4517-python-tarfile-filter-data-bypass-poc
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالاختبار الاختراقالفريق الأحمرتطوير الحمولات
GitHubestebanzarate/cve-2025-4517-python-tarfile-filter-data-bypass-poc

CVE-2025-4517-Python-tarfile-filter-data-Bypass-PoC

إثبات مفهوم لاستغلال CVE-2025-4517، وهي ثغرة اجتياز المسار في وضع الحماية filter='data' الخاص بوحدة tarfile في بايثون، مما يتيح كتابة ملفات عشوائية خارج دليل الاستخراج عبر سلاسل روابط رمزية مصممة بعناية.

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
عرض المستودع
11منذ 6 أشهرلم تتم المراجعة بعد

CVE-2025-4517 — تجاوز فلتر filter="data" في وحدة tarfile للغة Python (PoC)

ثغرة اجتياز المسار في وحدة tarfile بلغة Python تؤثر على الإصدارات من 3.8.0 حتى 3.13.1. يمكن تجاوز الصندوق الرملي filter="data" — المصمَّم لمنع عمليات الاستخراج غير الآمنة — عبر صياغة مسارات تتجاوز PATH_MAX (4096 بايت)، مما يجعل os.path.realpath() يتوقف بصمت عن حل الروابط الرمزية (symlinks). يرى فحص الأمان مسارًا يبدو آمنًا بينما يقوم النواة (kernel) بحل المسار الحقيقي، مما يسمح بالكتابة خارج مجلد الاستخراج. يستغل هذا الـ PoC الثغرة لكتابة مفتاح SSH عام إلى /root/.ssh/authorized_keys.


كيف يعمل

  1. يُنشئ ملف tar خبيثًا بمجلدات متداخلة بعمق (أسماء بطول 247 حرفًا) تدفع مسارات الروابط الرمزية لتتجاوز PATH_MAX.
  2. يستدعي filter="data" الدالة os.path.realpath() للتحقق من كل مسار — ولكن عند PATH_MAX يتوقف عن الحل ويرى المسار كما لو كان لا يزال داخل مجلد التدريج (staging directory). يمر الفحص بنجاح.
  3. تقوم النواة بحل المسار الكامل بشكل صحيح أثناء الاستخراج، هاربًا من الصندوق الرملي.
  4. يُكتب ملف عادي عبر سلسلة الروابط الرمزية الهاربة، ليستقر في /root/.ssh/authorized_keys.
  5. يتم التحقق من وصول SSH كجذر (root) باستخدام المفتاح المُحقن.

المتطلبات

  • Python 3
  • توفر ssh-keygen (أو توفير مفتاحك العام الخاص عبر -k)
  • صلاحية كتابة إلى مجلد النسخ الاحتياطي الذي يستخدمه السكربت المعرض للثغرة
  • صلاحيات sudo لتشغيل عملية الاستخراج المعرضة للثغرة

الاستخدام

root@kitploit:~
# توليد زوج مفاتيح جديد تلقائيًا
python3 exploit.py

# استخدام مفتاح عام موجود
python3 exploit.py -k ~/.ssh/id_ed25519.pub

مثال:

root@kitploit:~
$ python3 exploit.py
[+] SSH keypair generated: /tmp/cve_2025_4517_key
[*] Creating exploit tar...
[+] Exploit tar created: /tmp/cve_2025_4517_exploit.tar
[*] Deploying exploit to: /opt/backup_clients/backups/backup_9999.tar
[+] Exploit deployed successfully
[*] Triggering extraction via vulnerable script...
[+] Extraction completed
[*] Verifying exploit via SSH...
[+] SUCCESS! SSH as root confirmed: uid=0(root) gid=0(root) groups=0(root)

============================================================
[+] EXPLOITATION SUCCESSFUL!
[+] SSH into root with: ssh -i /tmp/cve_2025_4517_key root@localhost
============================================================

[?] Open root shell now? (y/n):

المراجع

  • CVE-2025-4517
  • توثيق وحدة tarfile في Python — عوامل تصفية الاستخراج
  • استشارة أمان Python

الإسهامات

  • الاكتشاف: فريق الاستجابة الأمنية في Python (Python Security Response Team)
  • التنظيف والتبسيط: Esteban Zárate
تنزيل الأداة