CVE-2021-40378

8.1 HIGH

📋 TL;DR

This vulnerability allows unauthenticated attackers to delete all data from affected Compro IP camera devices by accessing a specific CGI script. It affects Compro IP70, IP570, IP60, and TN540 devices running vulnerable firmware versions. This is a critical denial-of-service vulnerability that can render devices unusable.

💻 Affected Systems

Products:
  • Compro IP70
  • Compro IP570
  • Compro IP60
  • Compro TN540
Versions: IP70: 2.08_7130218, IP570: 2.08_7130520, IP60 and TN540: unspecified vulnerable versions
Operating Systems: Embedded Linux firmware
Default Config Vulnerable: ⚠️ Yes
Notes: All devices with the vulnerable CGI script accessible are affected regardless of configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete data loss and device bricking requiring factory reset or physical replacement, causing permanent service disruption.

🟠

Likely Case

Device becomes inoperable, requiring manual intervention to restore functionality, leading to surveillance downtime.

🟢

If Mitigated

No impact if devices are properly segmented and access controls prevent unauthorized CGI script execution.

🌐 Internet-Facing: HIGH - Devices exposed to the internet can be easily discovered and exploited by automated scanners.
🏢 Internal Only: MEDIUM - Internal attackers or malware could exploit this if network segmentation is insufficient.

🎯 Exploit Status

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

Simple HTTP GET request to /cgi-bin/support/killps.cgi triggers the data deletion. Public exploit code and documentation are available.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: No vendor advisory found

Restart Required: No

Instructions:

No official patch available. Check with Compro Technology for firmware updates. Consider device replacement if no fix is provided.

🔧 Temporary Workarounds

Block CGI Script Access

linux

Use web server configuration or firewall rules to block access to the vulnerable CGI script

iptables -A INPUT -p tcp --dport 80 -m string --string "/cgi-bin/support/killps.cgi" --algo bm -j DROP
iptables -A INPUT -p tcp --dport 443 -m string --string "/cgi-bin/support/killps.cgi" --algo bm -j DROP

Network Segmentation

all

Isolate camera devices on separate VLANs with strict access controls

🧯 If You Can't Patch

  • Remove devices from internet exposure immediately
  • Implement strict network access controls allowing only authorized management systems to communicate with cameras

🔍 How to Verify

Check if Vulnerable:

Check if the CGI script exists by attempting to access http://[camera-ip]/cgi-bin/support/killps.cgi (use caution as this may trigger the vulnerability)

Check Version:

Check device web interface or use manufacturer-specific commands to query firmware version

Verify Fix Applied:

Verify the CGI script is no longer accessible or returns appropriate access denied errors

📡 Detection & Monitoring

Log Indicators:

  • HTTP requests to /cgi-bin/support/killps.cgi in web server logs
  • Sudden device reboots or configuration resets

Network Indicators:

  • HTTP GET requests to killps.cgi endpoint
  • Unusual traffic patterns to camera management interfaces

SIEM Query:

source="camera_logs" AND uri="/cgi-bin/support/killps.cgi"

🔗 References

📤 Share & Export