
إثبات المفهوم وأداة تحقق لثغرة CVE-2026-82329 في JFrog Artifactory. تزوير JWT بمفتاح توقيع فارغ للحصول على رمز مسؤول، والتحقق من الوصول، ودعم فحص متعدد الأهداف مع خيوط المعالجة.
PoC وأداة تحقق لتحديد تثبيتات JFrog Artifactory ذاتية الاستضافة المتأثرة بـ CVE-2026-82329.
تتحقق هذه الأداة من سلسلة المصادقة التالية:
هذا المشروع مخصص لاختبارات الأمان القانونية، والتحقق من التصحيحات، والاستجابة للحوادث. لا تقم بتشغيله ضد أنظمة لا تملكها أو لا تملك إذنًا كتابيًا لاختبارها.
تنطبق هذه الثغرة على تثبيتات Artifactory ذاتية الاستضافة غير المُصححة. تم إصلاح Artifactory Cloud.
الإصدارات المسجلة التي تم إصلاحها:
قد تختلف إصدارات الإصلاح حسب خط الإصدار. استخدم النشرة الرسمية من JFrog كمصدر موثوق لتحديد حالة التصحيح في بيئتك.
-token يعرض رمز المسؤول على الطرفية. تعامل مع هذا المخرجات كبيانات اعتماد سرية.-create-admin مدمر لأنه ينشئ حساب مسؤول دائم. استخدمه فقط في بيئات الاختبار أو عندما تتطلب إجراءات الاستجابة للحوادث ذلك.لا توجد تبعيات Go خارجية. يستخدم البرنامج مكتبة Go القياسية.
قم باستنساخ أو نسخ هذا المشروع إلى جهاز الاختبار، ثم قم بالبناء باستخدام:
go build -o cve-2026-82329 CVE-2026-82329.go
للفحص وتشغيل تنسيق Go القياسي:
gofmt -w CVE-2026-82329.go
go vet ./...

./cve-2026-82329 -u https://artifactory.example.com:8082
يمكن حذف مخطط URL. إذا تم حذفه، يستخدم البرنامج HTTP:
./cve-2026-82329 -u 192.0.2.10:8082
يحتوي ملف الأهداف على URL واحد لكل سطر. يتم تجاهل الأسطر الفارغة والأسطر التي تبدأ بـ #.
https://artifactory-a.example.com:8082
https://artifactory-b.example.com:8082
# هدف مختبر معطل حاليًا
قم بتشغيل الفحص مع عدد محدد من العمال:
./cve-2026-82329 -l urls.txt -threads 8
cat hosts.txt | ./cve-2026-82329
يمكن استخدام URLs مع أو بدون مخطط طالما تحتوي على مضيف صالح.
./cve-2026-82329 -u https://artifactory.example.com:8082 -token
استخدم هذا الخيار فقط عندما يكون الرمز ضروريًا للتحقق المتقدم. لا تشارك هذا الرمز.
./cve-2026-82329 \
-u https://artifactory.example.com:8082 \
-create-admin audit-user:'استخدم-بيانات-اعتماد-اختبارية'
صيغة القيمة هي user:pass. نظرًا لأن بيانات الاعتماد قد تظهر في سجل الأوامر أو قائمة العمليات، استخدمها فقط في بيئات خاضعة للتحكم. قد تعتمد هذه الميزة على إصدار Artifactory Pro أو Enterprise.
./cve-2026-82329 -u https://artifactory.example.com:8082 -verbose
الاسم المختصر هو -v. يسجل هذا الوضع الطلبات والاستجابات وJWT المزورة وادعاءات الرمز. اعتبر كل المخرجات بيانات حساسة.
| الخيار | الافتراضي | الوصف |
|---|---|---|
-u URL | فارغ | عنوان URL الأساسي للهدف؛ يمكن تكراره |
-l FILE | فارغ | ملف يحتوي على قائمة عناوين URL للأهداف |
-threads N | 8 | عدد العمال المتوازيين |
-timeout N | 20 | مهلة كل طلب بالثواني |
-token | false | عرض رمز المسؤول الذي تم الحصول عليه |
-create-admin user:pass | فارغ | إنشاء حساب مسؤول دائم |
-verbose | false | تسجيل تفاصيل الطلبات والاستجابات والادعاءات |
-v | false | اسم مختصر لـ -verbose |
VULN: نجح الانضمام وأعادت نقطة نهاية إثبات المسؤول حالة HTTP 200.SAFE: لم ينجح الانضمام، على سبيل المثال تم تصحيح الهدف، أو لا يستخدم مفتاحًا فارغًا، أو ليس Artifactory مطابقًا.INFO: نجح الانضمام، لكن إثبات المسؤول لم يعطِ نتيجة حاسمة. تحقق يدويًا من الإصدار والتكوين.FAIL: تعذر الوصول إلى الهدف أو أن عنوان URL غير صالح.حالة SAFE ليست بديلاً عن التحقق من الإصدار والتكوين. يجب التعامل مع حالة INFO كنتيجة تتطلب فحصًا إضافيًا.
-threads و -timeout وفقًا لسعة البيئة.لم يتم تحديد الترخيص في هذا المستودع. تواصل مع مالك المشروع قبل إعادة التوزيع أو دمج الكود في منتجات أخرى.
تم توفير هذا الكود لأغراض البحث الأمني والاختبار المصرح به. المؤلفون والمساهمون غير مسؤولين عن الاستخدام غير المصرح به أو الأضرار أو فقدان البيانات أو انتهاكات القانون الناتجة عن استخدام هذه الأداة.
Gagaltotal666 - GhostGTR666
المستودع: https://github.com/gagaltotal