
استغلال لـ CVE-2026-25732، وهو اجتياز مسار في FileUpload الخاص بـ NiceGUI يسمح بكتابة ملفات تعسفية دون مصادقة. يتضمن أمثلة استخدام لاستبدال ملفات التطبيق أو إسقاط قذائف ويب.
المؤلف: محمد إدريس بن يامر
التواصل:
عنوان الاستغلال: ثغرة اجتياز المسار في NiceGUI في FileUpload تؤدي إلى كتابة ملفات تعسفية
التاريخ: 2025-06-06
تم الاختبار على: NiceGUI ≤ 3.6.1 (بايثون 3.8 – 3.12 على لينكس / ويندوز)
تم الإصلاح في: NiceGUI 3.7.0
CVE: CVE-2026-25732
نوع الثغرة: CWE-22 — تقييد غير صحيح لمسار الملف ضمن دليل مقيد
ناقل الهجوم: شبكة
الصلاحيات المطلوبة: لا شيء
تفاعل المستخدم: لا شيء
المنصة: تطبيق ويب (NiceGUI / بايثون)
إصدارات NiceGUI ≤ 3.6.1 لا تقوم بتعقيم حقل name للملفات المرفوعة بشكل صحيح في معالج ui.upload() / FileUpload عندما يستخدم مطور التطبيق اسم الملف الأصلي في مسار الحفظ دون تعقيم إضافي.
يسمح هذا لمهاجم غير مصادق بكتابة ملفات تعسفية في أي مكان يملك فيه عملية NiceGUI صلاحيات الكتابة عبر تسلسلات اجتياز المسار (../، المسارات المطلقة، إلخ).
أمثلة شائعة على التأثير:
app.py / main.py ← تنفيذ كود عند إعادة تحميل/إعادة تشغيل التطبيق/etc/، الدلائل الرئيسية، .ssh/، مجلدات الإعدادات، إلخ.#!/usr/bin/env python3
"""
CVE-2026-25732 — كتابة ملفات تعسفية في NiceGUI (اجتياز المسار)
يستغل حقل FileUpload.name غير المعقم عندما يستخدمه التطبيق في مسار الحفظ.
الاستخدام:
python exploit_cve_2026_25732.py http://target:8080 "../etc/passwd" payload.txt
python exploit_cve_2026_25732.py http://target:8080 "../app.py" malicious_app.py
python exploit_cve_2026_25732.py http://target:8080 "nicegui/../../../etc/crontab" revshell-cron
"""