CVE-2017-14702

9.8 CRITICAL

📋 TL;DR

CVE-2017-14702 is a critical remote code execution vulnerability in ERS Data System 1.8.1.0 caused by insecure deserialization of the 'com.branaghgroup.ecers.update.UpdateRequest' object. Attackers can exploit this to execute arbitrary code on affected systems, potentially gaining full control. Organizations using ERS Data System 1.8.1.0 are affected.

💻 Affected Systems

Products:
  • ERS Data System
Versions: 1.8.1.0
Operating Systems: Windows, Linux, All platforms running Java
Default Config Vulnerable: ⚠️ Yes
Notes: The vulnerability exists in the update mechanism's deserialization process and affects all deployments of version 1.8.1.0.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise with attacker gaining administrative privileges, data exfiltration, ransomware deployment, and persistent backdoor installation.

🟠

Likely Case

Remote code execution leading to system takeover, data theft, and lateral movement within the network.

🟢

If Mitigated

Limited impact if proper network segmentation, application whitelisting, and deserialization controls are implemented.

🌐 Internet-Facing: HIGH - Exploitation requires no authentication and can be triggered remotely via network requests.
🏢 Internal Only: HIGH - Even internally, the vulnerability allows unauthenticated attackers to execute arbitrary code.

🎯 Exploit Status

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

Public exploit code is available on Exploit-DB and GitHub, making exploitation trivial for attackers.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown - No official patch documented

Vendor Advisory: No vendor advisory found

Restart Required: No

Instructions:

1. Upgrade to a newer version if available from vendor. 2. If no patch exists, implement workarounds and consider replacing the software.

🔧 Temporary Workarounds

Network Segmentation

all

Isolate ERS Data System from internet and restrict network access to trusted sources only.

Java Security Manager Configuration

all

Configure Java Security Manager to restrict deserialization operations and limit permissions.

java -Djava.security.manager -Djava.security.policy=restrictive.policy -jar ecers.jar

🧯 If You Can't Patch

  • Implement strict network access controls and firewall rules to limit exposure
  • Deploy runtime application self-protection (RASP) or web application firewall (WAF) with deserialization protection

🔍 How to Verify

Check if Vulnerable:

Check application version in interface or configuration files. If version is 1.8.1.0, assume vulnerable.

Check Version:

Check application.properties or version.txt files in installation directory

Verify Fix Applied:

Verify version has been upgraded from 1.8.1.0 or workarounds have been implemented.

📡 Detection & Monitoring

Log Indicators:

  • Unusual deserialization errors
  • Unexpected network connections from ERS process
  • Suspicious Java class loading

Network Indicators:

  • Malformed serialized objects sent to ERS update endpoints
  • Unexpected outbound connections post-exploitation

SIEM Query:

source="ERS_Logs" AND ("deserialization" OR "UpdateRequest" OR "ClassNotFoundException")

🔗 References

📤 Share & Export