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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Tarmageddon-CVE-2025-62518- — إثبات المفهوم لـ CVE-2025-62518 يوضح تهريب أرشيف tar عبر تحليل رأس PAX في tokio-tar، وإنشاء حمولات ضارة ومستخرج ضعيف لإظهار حقن سلسلة التوريد. | Kitploit
أدوات/GitHubGitHub/airineiandrei/tarmageddon-cve-2025-62518-
تحليل الثغرات الأمنيةالاستغلالتحليل البرمجيات الخبيثةأمن سلسلة التوريدالأوراق والأبحاثالتعلم والتعليم
GitHubairineiandrei/tarmageddon-cve-2025-62518-

Tarmageddon-CVE-2025-62518-

إثبات المفهوم لـ CVE-2025-62518 يوضح تهريب أرشيف tar عبر تحليل رأس PAX في tokio-tar، وإنشاء حمولات ضارة ومستخرج ضعيف لإظهار حقن سلسلة التوريد.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

Tarmageddon CVE-2025-62518

فيديو: https://youtu.be/EYBB4BHsp9E

أدلة المستودع

  • vulnerable-extract مثال مصغر قابل للتكرار، يأخذ مسارًا كوسيطة، ويستخرج ذلك الملف إلى ./output
  • malicious-payload ينشئ أرشيف malicious.tar بسيطًا مع بعض الأمثلة على المحتوى المهرب، وتشرح التعليقات ما يتم فعله خطوة بخطوة وكتلة بكتلة

إعادة الإنتاج

استخدم نص إعادة الإنتاج المقدم أو افعل ذلك يدويًا

قم بتشغيل malicious-payload لإنشاء الحمولة malicious.tar

تمرير هذا الملف إلى تطبيقنا vulnerable-extract ينتج:

root@kitploit:~
/vulnerable-extract$ ll output/
total 12
drwxrwxr-x 2 airinei airinei 4096 Jan 19 22:40 ./
drwxrwxr-x 5 airinei airinei 4096 Jan 19 22:40 ../
-rw-rw-r-- 1 airinei airinei    0 Jan  1  1970 benign_file.txt
-rw-rw-r-- 1 airinei airinei   18 Jan  1  1970 sh_profile_hijack

بينما تشغيل الأداة المساعدة tar المقدمة من نظام التشغيل ((GNU tar) 1.35 في هذه الحالة) ينتج:

root@kitploit:~
malicious-payload$ tar -tvf malicious.tar
---------- 0/0            1024 1970-01-01 02:00 benign_file.txt

لاحظ أنها ترى أن حجم الملف هو 1024

بدلاً من ذلك، استخدام astral-tokio-tar 0.5.6 بدلاً من tokio-tar 0.3.1 المهجور يستخرج الأرشيف بشكل صحيح.

شرح الثغرة

CVE-2025-62518 (TARmageddon) هي ثغرة أمنية موجودة في مكتبة Rust tokio-tar (ثغرة Rust 😮). هذا خطأ منطقي في كيفية تحليل رؤوس تنسيق tar، مما يسمح للمهاجم بتهريب الملفات.

الخلل موجود في منطق معالجة رؤوس PAX الموسعة. في أرشيف TAR، هناك أنواع مختلفة من الرؤوس:

  • USTAR: الرأس القياسي الذي يحتوي على اسم الملف، والأذونات، والحجم.
  • PAX (النوع x): رأس تمديد يستخدم لتوفير بيانات وصفية (مثل حجم ملف كبير جدًا) للملف التالي في الأرشيف.

عند وجود رأس PAX، يجب على المحلل حل الحجم الفعلي للملف عن طريق إعطاء أولوية لبيانات PAX على رأس USTAR القياسي.

ولكن لماذا يوجد 2 أنواع من الرؤوس ذات أولويات لما يبدو متشابهًا؟ لأن تنسيق TAR قديم (تم توحيده في 1988)، وUSTAR له حدوده (حجم يصل إلى 8GB، واسم ملف يصل إلى 256 حرفًا). هذه مشكلة لذا تمت إضافة رأس PAX في 2001 للسماح بملفات أكبر وأسماء ملفات أطول.

في الإصدارات الضعيفة من tokio-tar، يتبنى المحلل بشكل صحيح الحجم من رأس PAX لقارئ محتوى الملف، لكنه يستخدم بشكل غير صحيح الحجم من رأس USTAR لتحديد مكان بداية رأس الملف التالي.

جوهر المشكلة هو عدم تطابق المؤشر. عندما يعالج المكتبة الضعيفة ملفًا، فإنها تستخدم "رأسين" داخليين مختلفين لقراءة التدفق:

  1. رأس المحتوى: مسؤول عن قراءة البايتات الفعلية للملف وكتابتها على القرص.
  2. رأس المحلل: مسؤول عن تخطي بيانات الملف للعثور على رأس الملف التالي.

في الأرشيف العادي، يتفق هذان الرأسان. في TARmageddon، نجبرهما على الاختلاف. عن طريق تعيين حجم PAX إلى 1024 وحجم USTAR إلى 0، نخلق مفارقة:

  • رأس المحتوى يقرأ 1024 بايت ويضعها في benign_file.txt.
  • رأس المحلل يرى 0 في رأس USTAR ويعتقد، "أنا بالفعل في نهاية الملف." يبقى بالضبط حيث هو.

وبالتالي، يعامل رأس المحلل البيانات الموجودة داخل كتلة 1024 بايت كمجموعة التعليمات التالية. إذا كانت تلك البيانات تبدو كرأس TAR صالح، فإن المكتبة "تكتشف" وتستخرج ملفًا ثانيًا غير موجود تقنيًا وفقًا للهيكل العام للأرشيف.

حمولة التهريب:

يتم إنشاء الحمولة كسلسلة من كتل بحجم 512 بايت. إليك التخطيط المستخدم في منشئ malicious-payload:

كتلةالدورالوصف
1 و 2بيانات PAX الوصفيةتدعي أن الملف التالي بطول 1024 بايت.
3الرأس الأساسيbenign.txt. يحدد الحجم بشكل حاسم إلى 0.
4الرأس المهربbackdoor.sh. مخفي داخل منطقة "البيانات".
5البيانات المهربةالمحتوى الخبيث (مثل أسماء الأوامر المستعارة للقشرة).
6 و 7نهاية الملفإنهاء قياسي بكتل فارغة.

لأن الأدوات القياسية (مثل GNU tar) تتبع حجم PAX بشكل صحيح، فإنها ترى الكتلة 4 و 5 كبيانات ثنائية غير ضارة تنتمي إلى benign_file.txt. فهي لا "تنفذ" الرأس في الكتلة 4 أبدًا.

كيف تعتبر هذه ثغرة، و CVSS 8.1؟

كيف يمكن استغلال وجود ثغرة في هذه الحزمة، لماذا يهم أن يتم تهريب ملف في أرشيف؟

حقنة سلسلة التوريد:

يهرب المهاجم ملفات ضارة إلى نظام البناء. استخراج هذا إما للتطوير أو على جهاز CI، يمكن أن يكتب فوق ملفات البناء المشروعة، مما يعرض هذا الجهاز للخطر بل ويخدع نظام البناء لتوقيع ملفات ضارة.

تجاوز الأمان (WAF/AV):

يقوم ماسح ضوئي بفحص ملف .tar، ومسحه فقط بالوضع الصحيح، قد تكون ملفات غير مرغوب فيها موجودة عند الاستخراج ولكن لم يتم مسحها ضوئيًا

مستوحى من هذا الشرح

تنزيل الأداة