CVE-2023-48887
📋 TL;DR
CVE-2023-48887 is a critical deserialization vulnerability in Jupiter v1.3.1 that allows remote attackers to execute arbitrary commands by sending specially crafted RPC requests. This affects any system running the vulnerable Jupiter version with RPC endpoints exposed. Attackers can achieve remote code execution with high privileges.
💻 Affected Systems
- Jupiter
📦 What is this software?
Jupiter by Fengjiachun
⚠️ Risk & Real-World Impact
Worst Case
Complete system compromise allowing attackers to execute arbitrary commands with the privileges of the Jupiter process, potentially leading to data theft, ransomware deployment, or lateral movement within the network.
Likely Case
Remote code execution leading to installation of backdoors, cryptocurrency miners, or data exfiltration tools on vulnerable systems.
If Mitigated
Limited impact if proper network segmentation and access controls prevent external access to RPC endpoints.
🎯 Exploit Status
Public exploit tools are available that leverage JNDI injection techniques. The vulnerability requires no authentication and has simple exploitation steps.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: v1.3.2 or later
Vendor Advisory: https://github.com/fengjiachun/Jupiter/issues/115
Restart Required: Yes
Instructions:
1. Download the latest version from the official GitHub repository. 2. Stop the Jupiter service. 3. Replace the vulnerable JAR files with patched versions. 4. Restart the Jupiter service. 5. Verify the version is updated to v1.3.2 or later.
🔧 Temporary Workarounds
Network Access Restriction
allRestrict network access to Jupiter RPC endpoints using firewall rules
iptables -A INPUT -p tcp --dport [JUPITER_RPC_PORT] -j DROP
netsh advfirewall firewall add rule name="Block Jupiter RPC" dir=in action=block protocol=TCP localport=[JUPITER_RPC_PORT]
Disable RPC Endpoint
allDisable the vulnerable RPC endpoint if not required for functionality
Modify Jupiter configuration to disable RPC server or change to non-default port
🧯 If You Can't Patch
- Implement strict network segmentation to isolate Jupiter instances from untrusted networks
- Deploy application-level firewalls or WAFs with rules to detect and block malicious RPC requests
🔍 How to Verify
Check if Vulnerable:
Check the Jupiter version by examining the JAR file metadata or application logs. If version is exactly 1.3.1, the system is vulnerable.
Check Version:
java -jar jupiter.jar --version or check the MANIFEST.MF file in the JAR
Verify Fix Applied:
Verify the Jupiter version is 1.3.2 or later and test RPC functionality with legitimate requests to ensure service remains operational.
📡 Detection & Monitoring
Log Indicators:
- Unusual RPC request patterns
- Java deserialization errors in logs
- Unexpected process spawns from Jupiter service
Network Indicators:
- Unusual outbound connections from Jupiter process
- RPC requests containing serialized Java objects with suspicious class names
SIEM Query:
source="jupiter.log" AND ("deserialization" OR "RPC" OR "JNDI") AND severity=ERROR
🔗 References
- https://github.com/fengjiachun/Jupiter
- https://github.com/fengjiachun/Jupiter/issues/115
- https://github.com/welk1n/JNDI-Injection-Exploit/releases/tag/v1.0
- https://github.com/fengjiachun/Jupiter
- https://github.com/fengjiachun/Jupiter/issues/115
- https://github.com/welk1n/JNDI-Injection-Exploit/releases/tag/v1.0