CVE-2024-24780

9.8 CRITICAL

📋 TL;DR

This vulnerability allows attackers with UDF creation privileges in Apache IoTDB to execute arbitrary code by registering malicious functions from untrusted URIs. It affects all Apache IoTDB installations from version 1.0.0 through 1.3.3. Attackers can achieve remote code execution with the privileges of the IoTDB process.

💻 Affected Systems

Products:
  • Apache IoTDB
Versions: 1.0.0 through 1.3.3
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Requires attacker to have UDF creation privileges, which may be granted to users in some configurations.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise allowing attackers to execute arbitrary commands with IoTDB process privileges, potentially leading to data theft, system destruction, or lateral movement.

🟠

Likely Case

Attackers with UDF creation access can execute arbitrary code to compromise the IoTDB server, potentially accessing sensitive time-series data or using the server as a foothold for further attacks.

🟢

If Mitigated

With proper access controls limiting UDF creation to trusted administrators only, the attack surface is significantly reduced, though the vulnerability still exists in the codebase.

🌐 Internet-Facing: HIGH
🏢 Internal Only: HIGH

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires UDF creation privileges but is straightforward once those privileges are obtained.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.3.4

Vendor Advisory: https://lists.apache.org/thread/xphtm98v3zsk9vlpfh481m1ry2ctxvmj

Restart Required: Yes

Instructions:

1. Download Apache IoTDB 1.3.4 from official sources. 2. Stop the IoTDB service. 3. Backup configuration and data. 4. Replace the installation with version 1.3.4. 5. Restart the IoTDB service.

🔧 Temporary Workarounds

Restrict UDF Creation Privileges

all

Limit UDF creation to only trusted administrators by modifying user permissions.

# Review and modify user permissions in IoTDB configuration
# Revoke CREATE_FUNCTION privilege from untrusted users

Network Segmentation

linux

Isolate IoTDB instances from untrusted networks and limit access to trusted IPs only.

# Configure firewall rules to restrict access
# Example: iptables -A INPUT -p tcp --dport 6667 -s trusted_ip -j ACCEPT

🧯 If You Can't Patch

  • Immediately restrict UDF creation privileges to only essential, trusted administrators
  • Implement network controls to limit IoTDB access to trusted sources only

🔍 How to Verify

Check if Vulnerable:

Check the IoTDB version using the version command or configuration files. Versions 1.0.0 through 1.3.3 are vulnerable.

Check Version:

./sbin/start-cli.sh -h localhost -p 6667 -u root -pw root -e "show version"

Verify Fix Applied:

Confirm the installed version is 1.3.4 or later by checking the version output.

📡 Detection & Monitoring

Log Indicators:

  • Unusual UDF registration attempts
  • UDF registrations from unexpected sources
  • Error logs related to UDF loading failures

Network Indicators:

  • Unexpected connections to IoTDB port (default 6667)
  • Suspicious network traffic patterns to/from IoTDB instances

SIEM Query:

source="iotdb.logs" AND ("CREATE FUNCTION" OR "UDF" OR "register") AND NOT user="trusted_admin"

🔗 References

📤 Share & Export