CVE-2017-10992

9.8 CRITICAL

📋 TL;DR

CVE-2017-10992 is an unauthenticated Java deserialization vulnerability in HPE Storage Essentials that allows remote attackers to execute arbitrary operating system commands. The vulnerability exists in the invoker/JMXInvokerServlet endpoint and affects organizations using HPE Storage Essentials for storage management. Attackers can exploit this without credentials to gain full control of affected systems.

💻 Affected Systems

Products:
  • HPE Storage Essentials
Versions: 9.5.0.142
Operating Systems: All platforms running HPE Storage Essentials
Default Config Vulnerable: ⚠️ Yes
Notes: The vulnerability is present in the default configuration and requires no special settings to be exploitable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise with attacker gaining root/administrator privileges, deploying ransomware, stealing sensitive data, and pivoting to other network systems.

🟠

Likely Case

Remote code execution leading to data theft, installation of backdoors, cryptocurrency miners, or use as part of a botnet.

🟢

If Mitigated

Limited impact if system is isolated, properly segmented, and monitored with intrusion detection systems in place.

🌐 Internet-Facing: HIGH
🏢 Internal Only: HIGH

🎯 Exploit Status

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

Exploitation is straightforward with publicly available proof-of-concept code. The vulnerability requires no authentication and uses standard Java deserialization attack techniques.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Apply HPE Security Bulletin PSRT110461

Vendor Advisory: https://support.hpe.com/hpesc/public/docDisplay?docId=emr_na-hpesbst03779en_us

Restart Required: Yes

Instructions:

1. Download the patch from HPE Support Center. 2. Apply the patch according to HPE documentation. 3. Restart the HPE Storage Essentials service. 4. Verify the fix by checking the version and testing the vulnerable endpoint.

🔧 Temporary Workarounds

Block JMXInvokerServlet Access

all

Restrict access to the vulnerable invoker/JMXInvokerServlet endpoint using network controls or web server configuration.

# For Apache: RewriteRule ^/invoker/JMXInvokerServlet - [F,L]
# For Nginx: location ~ ^/invoker/JMXInvokerServlet { deny all; }

Network Segmentation

linux

Isolate HPE Storage Essentials systems from untrusted networks and restrict access to management interfaces.

# Example firewall rule: iptables -A INPUT -p tcp --dport 8080 -s trusted_network -j ACCEPT
iptables -A INPUT -p tcp --dport 8080 -j DROP

🧯 If You Can't Patch

  • Immediately isolate the affected system from all networks, especially internet-facing connections.
  • Implement strict network access controls allowing only necessary traffic from trusted sources.

🔍 How to Verify

Check if Vulnerable:

Check if the /invoker/JMXInvokerServlet endpoint responds to Java serialization payloads. Use vulnerability scanners or test with known safe payloads in a controlled environment.

Check Version:

Check the HPE Storage Essentials administration interface or configuration files for version information. The exact command varies by installation.

Verify Fix Applied:

After patching, verify that the /invoker/JMXInvokerServlet endpoint no longer accepts Java serialized objects or returns appropriate error messages. Test with the same payloads used to verify vulnerability.

📡 Detection & Monitoring

Log Indicators:

  • Unusual requests to /invoker/JMXInvokerServlet
  • Java deserialization errors in application logs
  • Unexpected process execution or command execution events

Network Indicators:

  • HTTP POST requests to /invoker/JMXInvokerServlet containing serialized Java objects
  • Outbound connections from the Storage Essentials server to suspicious IPs

SIEM Query:

source="*storage_essentials*" AND (uri="/invoker/JMXInvokerServlet" OR message="*deserialization*" OR message="*JMXInvokerServlet*")

🔗 References

📤 Share & Export