CVE-2024-47074

9.8 CRITICAL

📋 TL;DR

This vulnerability in DataEase allows attackers to execute arbitrary system commands by exploiting PostgreSQL JDBC deserialization through unfiltered user input in JDBC connection parameters. Attackers can achieve remote code execution and gain server privileges. All DataEase instances with PostgreSQL data sources configured are affected.

💻 Affected Systems

Products:
  • DataEase
Versions: All versions before v1.18.25
Operating Systems: All platforms running DataEase
Default Config Vulnerable: ⚠️ Yes
Notes: Requires PostgreSQL data source configuration capability, which is a core feature.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full server compromise with attacker gaining root/system privileges, data exfiltration, lateral movement, and persistent backdoor installation.

🟠

Likely Case

Remote code execution leading to data theft, service disruption, and potential ransomware deployment.

🟢

If Mitigated

Limited impact if network segmentation prevents outbound connections to attacker-controlled PostgreSQL servers.

🌐 Internet-Facing: HIGH - Internet-facing DataEase instances can be directly exploited without authentication.
🏢 Internal Only: HIGH - Internal instances remain vulnerable to insider threats or compromised internal systems.

🎯 Exploit Status

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

Exploitation requires attacker to control a malicious PostgreSQL server, but the vulnerability itself is straightforward to exploit once that condition is met.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: v1.18.25

Vendor Advisory: https://github.com/dataease/dataease/security/advisories/GHSA-jgg7-w629-wcpc

Restart Required: Yes

Instructions:

1. Backup your DataEase instance and data. 2. Download v1.18.25 from official repository. 3. Stop DataEase service. 4. Replace with patched version. 5. Restart DataEase service. 6. Verify functionality.

🔧 Temporary Workarounds

Network Restriction

linux

Block outbound connections from DataEase servers to PostgreSQL servers except to trusted, known-good PostgreSQL instances.

iptables -A OUTPUT -p tcp --dport 5432 -j DROP
iptables -A OUTPUT -p tcp --dport 5432 -d TRUSTED_IP -j ACCEPT

Disable PostgreSQL Data Sources

all

Temporarily disable PostgreSQL data source functionality if not required.

🧯 If You Can't Patch

  • Implement strict network segmentation to prevent DataEase servers from connecting to untrusted PostgreSQL instances.
  • Monitor for unusual outbound connections to PostgreSQL ports (5432) from DataEase servers.

🔍 How to Verify

Check if Vulnerable:

Check DataEase version via web interface or configuration files. Versions below v1.18.25 are vulnerable.

Check Version:

Check DataEase web interface admin panel or examine application configuration files for version information.

Verify Fix Applied:

Confirm version is v1.18.25 or higher and test PostgreSQL data source functionality works normally.

📡 Detection & Monitoring

Log Indicators:

  • Unusual JDBC connection strings in DataEase logs
  • Failed or unusual PostgreSQL connection attempts
  • System command execution from DataEase process

Network Indicators:

  • Outbound connections from DataEase server to unknown PostgreSQL servers on port 5432
  • Unusual network traffic patterns from DataEase process

SIEM Query:

source="dataease" AND ("JDBC" OR "PostgreSQL") AND ("connection" OR "deserialization")

🔗 References

📤 Share & Export