CVE-2024-43360

9.8 CRITICAL

📋 TL;DR

ZoneMinder CCTV software contains a time-based SQL injection vulnerability (CWE-89) that allows attackers to execute arbitrary SQL commands by manipulating time-based parameters. This affects all ZoneMinder installations below patched versions, potentially enabling database compromise. The vulnerability is critical with a CVSS score of 9.8.

💻 Affected Systems

Products:
  • ZoneMinder
Versions: All versions before 1.36.34 and 1.37.61
Operating Systems: Linux, Windows, macOS
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all ZoneMinder deployments regardless of configuration. The vulnerability is in core code.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise leading to data theft, authentication bypass, remote code execution via database functions, and full system takeover.

🟠

Likely Case

Database information disclosure, privilege escalation, and potential authentication bypass allowing unauthorized access to CCTV feeds and system controls.

🟢

If Mitigated

Limited impact if database runs with minimal privileges, input validation exists elsewhere, or network segmentation prevents exploitation.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Time-based SQL injection typically requires minimal technical skill to exploit. The advisory suggests unauthenticated access is possible.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.36.34 or 1.37.61

Vendor Advisory: https://github.com/ZoneMinder/zoneminder/security/advisories/GHSA-9cmr-7437-v9fj

Restart Required: Yes

Instructions:

1. Backup your ZoneMinder configuration and database. 2. Update ZoneMinder using your package manager or from source. 3. Restart the ZoneMinder service. 4. Verify the update was successful.

🔧 Temporary Workarounds

Web Application Firewall (WAF)

all

Deploy a WAF with SQL injection protection rules to block exploitation attempts.

Network Segmentation

linux

Restrict access to ZoneMinder web interface to trusted networks only.

iptables -A INPUT -p tcp --dport 80 -s TRUSTED_NETWORK -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -s TRUSTED_NETWORK -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP
iptables -A INPUT -p tcp --dport 443 -j DROP

🧯 If You Can't Patch

  • Implement strict network access controls to limit ZoneMinder web interface access to authorized users only.
  • Deploy database monitoring to detect SQL injection attempts and unusual database queries.

🔍 How to Verify

Check if Vulnerable:

Check ZoneMinder version via web interface or command line. Versions below 1.36.34 or 1.37.61 are vulnerable.

Check Version:

zmdc.pl version

Verify Fix Applied:

Confirm ZoneMinder version is 1.36.34 or higher (1.36.x branch) or 1.37.61 or higher (1.37.x branch).

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL queries in database logs
  • Multiple requests with time-based parameters in web server logs
  • Error messages containing SQL syntax

Network Indicators:

  • HTTP requests with SQL injection patterns in parameters
  • Unusual timing patterns in web requests

SIEM Query:

source="web_logs" AND (url="*SLEEP(*" OR url="*WAITFOR(*" OR url="*BENCHMARK(*" OR url="*pg_sleep(*")

🔗 References

📤 Share & Export