CVE-2021-40416

8.8 HIGH

📋 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

Products:
  • Reolink RLC-410W
Versions: v3.0.0.136_20121102
Operating Systems: Embedded Linux
Default Config Vulnerable: ⚠️ Yes
Notes: Affects the specific firmware version mentioned; other Reolink models may have similar issues but this CVE specifically documents 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.

🌐 Internet-Facing: HIGH - These cameras are often exposed to the internet for remote access, making them prime targets for exploitation.
🏢 Internal Only: MEDIUM - Still significant risk from internal threats or compromised internal accounts, but less exposure than internet-facing.

🎯 Exploit Status

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

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

all

Isolate camera on separate VLAN with restricted access

Access Control

linux

Implement 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*")

🔗 References

📤 Share & Export