CVE-2024-51482

9.9 CRITICAL

📋 TL;DR

ZoneMinder versions 1.37.64 and earlier contain a boolean-based SQL injection vulnerability in the event.php component. This allows attackers to execute arbitrary SQL commands on the database, potentially leading to data theft, modification, or complete system compromise. All ZoneMinder installations running vulnerable versions are affected.

💻 Affected Systems

Products:
  • ZoneMinder
Versions: 1.37.* <= 1.37.64
Operating Systems: Linux, Unix-like systems
Default Config Vulnerable: ⚠️ Yes
Notes: All default installations of affected versions are vulnerable. The vulnerability exists in the web/ajax/event.php component.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise leading to data exfiltration, privilege escalation, remote code execution, and full system takeover.

🟠

Likely Case

Unauthorized access to surveillance footage, configuration data theft, and potential manipulation of CCTV system functionality.

🟢

If Mitigated

Limited impact with proper network segmentation, database permissions, and input validation controls in place.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

SQL injection vulnerabilities are typically easy to exploit once identified. The advisory suggests authentication may be required, but this should be verified.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.37.65

Vendor Advisory: https://github.com/ZoneMinder/zoneminder/security/advisories/GHSA-qm8h-3xvf-m7j3

Restart Required: Yes

Instructions:

1. Backup your ZoneMinder configuration and database
2. Update ZoneMinder to version 1.37.65 or later
3. Restart the ZoneMinder service
4. Verify the update was successful

🔧 Temporary Workarounds

Input Validation Filter

all

Implement strict input validation for the event.php endpoint to filter SQL injection attempts

Web Application Firewall

all

Deploy a WAF with SQL injection protection rules in front of ZoneMinder

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate ZoneMinder from other systems
  • Apply database-level controls: use least privilege accounts, enable query logging, and implement stored procedures

🔍 How to Verify

Check if Vulnerable:

Check ZoneMinder version via web interface or command line. If version is 1.37.64 or earlier, you are vulnerable.

Check Version:

zmdc.pl version

Verify Fix Applied:

After updating, verify version is 1.37.65 or later and test the event.php endpoint functionality.

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL queries in database logs
  • Multiple failed authentication attempts followed by event.php access
  • SQL syntax errors in web server logs

Network Indicators:

  • Unusual patterns of requests to /web/ajax/event.php
  • SQL keywords in HTTP parameters

SIEM Query:

source="web_server" AND uri="/web/ajax/event.php" AND (param="SELECT" OR param="UNION" OR param="OR" OR param="AND")

🔗 References

📤 Share & Export