CVE-2021-40416
📋 TL;DR
This vulnerability allows any authenticated user to execute unauthorized Get APIs on Reolink RLC-410W cameras due to incorrect default permissions in the cgi_check_ability function. Attackers can send HTTP requests to access functionality they shouldn't have permission for. This affects Reolink RLC-410W camera users with vulnerable firmware.
💻 Affected Systems
- Reolink RLC-410W
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Complete system compromise allowing attackers to access all camera functions, modify settings, extract sensitive data, or potentially use the device as an entry point into the network.
Likely Case
Unauthorized access to camera functions, configuration changes, data extraction, and potential privacy violations through camera manipulation.
If Mitigated
Limited impact with proper network segmentation and access controls, though authenticated users could still access unauthorized functions.
🎯 Exploit Status
Exploitation requires authenticated access but is straightforward via HTTP requests. Public details available in Talos reports.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Check Reolink for updated firmware
Vendor Advisory: https://reolink.com/support/
Restart Required: Yes
Instructions:
1. Log into Reolink camera web interface. 2. Navigate to System > Maintenance > Firmware Upgrade. 3. Download latest firmware from Reolink support site. 4. Upload and apply firmware update. 5. Camera will reboot automatically.
🔧 Temporary Workarounds
Network Segmentation
allIsolate camera on separate VLAN with restricted access
Access Control
linuxImplement strict firewall rules to limit who can access camera management interface
iptables -A INPUT -p tcp --dport 80 -s trusted_ip -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP
🧯 If You Can't Patch
- Segment cameras on isolated network with no internet access
- Implement strict access controls allowing only specific IPs to connect to camera management interface
🔍 How to Verify
Check if Vulnerable:
Check firmware version in camera web interface under System > Device Information. If version is v3.0.0.136_20121102, device is vulnerable.
Check Version:
curl -s http://camera-ip/cgi-bin/cgiserver.cgi?cmd=getDevInfo | grep version
Verify Fix Applied:
Verify firmware version has been updated to a version later than v3.0.0.136_20121102. Test that unauthorized Get APIs return proper permission errors.
📡 Detection & Monitoring
Log Indicators:
- Unusual HTTP requests to cgiserver.cgi with Get API calls
- Multiple failed authentication attempts followed by successful login and API access
Network Indicators:
- HTTP requests to camera IP on port 80/443 accessing unauthorized API endpoints
- Traffic patterns showing enumeration of camera APIs
SIEM Query:
source="camera_logs" AND (uri="*/cgiserver.cgi*" AND NOT user_agent="Reolink*")