CVE-2024-32874

6.8 MEDIUM

📋 TL;DR

CVE-2024-32874 is a denial-of-service vulnerability in Frigate NVR software where attackers can crash the application by uploading files with excessively long Unicode filenames. The vulnerability affects all Frigate installations below version 0.13.2 due to improper filename length validation during Unicode normalization. This impacts any organization using vulnerable Frigate versions for IP camera monitoring and object detection.

💻 Affected Systems

Products:
  • Frigate NVR
Versions: All versions below 0.13.2
Operating Systems: Linux, Docker containers, Any OS running Frigate
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all Frigate deployments regardless of configuration, as the vulnerable secure_filename() function is used in file upload operations.

⚠️ 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 application crash leading to loss of video monitoring, object detection, and recording capabilities until service restart.

🟠

Likely Case

Temporary service disruption requiring manual intervention to restart the Frigate application.

🟢

If Mitigated

No impact if filename length limits are enforced or patched version is used.

🌐 Internet-Facing: HIGH if Frigate web interface is exposed to the internet, as unauthenticated users can trigger the DoS.
🏢 Internal Only: MEDIUM for internal networks, as authenticated users or attackers with network access could still exploit it.

🎯 Exploit Status

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

Exploitation requires only web access to the Frigate interface and knowledge of creating long Unicode filenames. No authentication needed if web interface is exposed.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 0.13.2 and later

Vendor Advisory: https://github.com/blakeblackshear/frigate/security/advisories/GHSA-w4h6-9wrp-v5jq

Restart Required: Yes

Instructions:

1. Update Frigate to version 0.13.2 or later using your deployment method (Docker, manual install). 2. Restart the Frigate service. 3. Verify the update was successful by checking the version in the web interface or logs.

🔧 Temporary Workarounds

Restrict file upload access

all

Limit access to Frigate's web interface to trusted users only and block external internet access.

Implement web application firewall rules

all

Add WAF rules to block requests with excessively long filenames or Unicode sequences.

🧯 If You Can't Patch

  • Isolate Frigate instance on internal network with no internet exposure
  • Implement rate limiting on file upload endpoints to prevent repeated exploitation

🔍 How to Verify

Check if Vulnerable:

Check Frigate version in web interface dashboard or run: docker inspect frigate | grep -i version

Check Version:

docker exec frigate cat /usr/local/lib/python3.9/site-packages/frigate/__init__.py | grep __version__

Verify Fix Applied:

Confirm version is 0.13.2 or higher and test file upload functionality with normal filenames works correctly.

📡 Detection & Monitoring

Log Indicators:

  • Application crash logs
  • High CPU usage spikes followed by service termination
  • Error messages related to filename processing or Unicode normalization

Network Indicators:

  • HTTP POST requests to upload endpoints with unusually long filenames
  • Multiple rapid file upload attempts

SIEM Query:

source="frigate.logs" AND ("crash" OR "terminated" OR "Unicode" OR "filename" AND "too long")

🔗 References

📤 Share & Export