CVE-2023-0925

9.8 CRITICAL

📋 TL;DR

This vulnerability allows unauthenticated remote attackers to execute arbitrary code on webMethods OneData servers by exploiting insecure Java RMI deserialization. Attackers can send malicious serialized objects to the RMI registry port (2099) and RMI interface ports, leading to complete system compromise. Organizations running webMethods OneData version 10.11 with default configurations are affected.

💻 Affected Systems

Products:
  • Software AG webMethods OneData
Versions: Version 10.11
Operating Systems: Windows, Linux, Unix
Default Config Vulnerable: ⚠️ Yes
Notes: Default installation with embedded Azul Zulu Java 11.0.15 and RMI registry enabled on port 2099. The vulnerability exists regardless of OS due to Java RMI implementation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system takeover with SYSTEM/root privileges, enabling data theft, ransomware deployment, lateral movement, and persistent backdoor installation.

🟠

Likely Case

Remote code execution leading to data exfiltration, credential harvesting, and installation of cryptocurrency miners or botnet malware.

🟢

If Mitigated

Limited impact if network segmentation, strict firewall rules, and proper authentication controls prevent access to RMI ports.

🌐 Internet-Facing: HIGH - Direct internet exposure of port 2099 allows unauthenticated attackers to exploit this vulnerability without any prerequisites.
🏢 Internal Only: HIGH - Even internally, any compromised device or malicious insider can exploit this to gain complete control of affected systems.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Java RMI deserialization exploits are well-documented and tooling exists (ysoserial, etc.). The CVSS 9.8 score indicates trivial exploitation with high impact.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version 10.12 or later

Vendor Advisory: https://www.softwareag.com/en_corporate/platform/integration-apis/webmethods-integration.html

Restart Required: Yes

Instructions:

1. Download webMethods OneData version 10.12 or later from Software AG support portal. 2. Backup current configuration and data. 3. Stop all webMethods OneData services. 4. Apply the update following vendor documentation. 5. Restart services and verify functionality.

🔧 Temporary Workarounds

Block RMI Ports with Firewall

all

Prevent external and internal access to Java RMI ports (2099 and dynamically assigned high ports)

# Windows: netsh advfirewall firewall add rule name="Block RMI Ports" dir=in action=block protocol=TCP localport=2099,49152-65535
# Linux: iptables -A INPUT -p tcp --dport 2099 -j DROP && iptables -A INPUT -p tcp --dport 49152:65535 -j DROP

Disable RMI Registry

all

Configure webMethods OneData to disable the Java RMI registry if not required

Modify Java startup parameters: -Djava.rmi.server.hostname=localhost -Dcom.sun.management.jmxremote.port=0 -Dcom.sun.management.jmxremote.ssl=true -Dcom.sun.management.jmxremote.authenticate=true

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate affected systems from untrusted networks
  • Deploy intrusion prevention systems (IPS) with rules to detect and block Java RMI deserialization attacks

🔍 How to Verify

Check if Vulnerable:

Check if port 2099 is listening and accessible: nmap -p 2099 <target_ip> or telnet <target_ip> 2099. Also verify webMethods OneData version is 10.11.

Check Version:

Check webMethods OneData installation directory for version files or consult administrative console. On Windows: reg query "HKLM\SOFTWARE\Software AG\webMethods OneData" /v Version

Verify Fix Applied:

Confirm version is 10.12 or later and port 2099 is either closed or properly secured with authentication. Test RMI access with a safe serialization payload.

📡 Detection & Monitoring

Log Indicators:

  • Java RMI registry access logs showing deserialization errors
  • Unexpected Java process spawning or network connections from webMethods processes
  • Security logs showing SYSTEM/root privilege escalation

Network Indicators:

  • TCP connections to port 2099 followed by connections to high ports (49152-65535)
  • Network traffic containing Java serialized object patterns
  • Outbound connections from webMethods server to suspicious IPs

SIEM Query:

source="webmethods.log" AND ("RMI" OR "deserialization" OR "2099") OR destination_port=2099 AND protocol=TCP

🔗 References

📤 Share & Export