CVE-2023-51628

8.0 HIGH

📋 TL;DR

This vulnerability allows network-adjacent attackers to execute arbitrary code as root on D-Link DCS-8300LHV2 IP cameras by exploiting a stack-based buffer overflow in the ONVIF SetHostName function. Although authentication is required, the existing authentication mechanism can be bypassed. Only D-Link DCS-8300LHV2 IP camera users are affected.

💻 Affected Systems

Products:
  • D-Link DCS-8300LHV2 IP Camera
Versions: All versions prior to firmware version 1.08.01
Operating Systems: Embedded Linux
Default Config Vulnerable: ⚠️ Yes
Notes: Requires ONVIF service to be enabled (typically enabled by default). Network-adjacent access needed.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full system compromise with root-level remote code execution, allowing attackers to take complete control of the camera, pivot to other network devices, or establish persistent access.

🟠

Likely Case

Camera compromise leading to video surveillance disruption, data exfiltration, or use as a foothold for lateral movement within the network.

🟢

If Mitigated

Limited impact if cameras are isolated in dedicated VLANs with strict network segmentation and access controls.

🌐 Internet-Facing: HIGH
🏢 Internal Only: HIGH

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Authentication bypass required but documented. Exploit requires crafting specific ONVIF packets.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Firmware version 1.08.01

Vendor Advisory: https://supportannouncement.us.dlink.com/announcement/publication.aspx?name=SAP10370

Restart Required: Yes

Instructions:

1. Download firmware version 1.08.01 from D-Link support site. 2. Log into camera web interface. 3. Navigate to Maintenance > Firmware Upgrade. 4. Upload the firmware file. 5. Wait for automatic reboot.

🔧 Temporary Workarounds

Disable ONVIF Service

all

Disable the ONVIF protocol if not required for camera functionality.

Navigate to Setup > Network > ONVIF and disable the service

Network Segmentation

linux

Isolate cameras in dedicated VLAN with strict firewall rules.

iptables -A INPUT -s <camera_subnet> -p tcp --dport 80,443,554,2020 -j DROP

🧯 If You Can't Patch

  • Segment cameras into isolated network VLAN with no internet access
  • Implement strict firewall rules to block all unnecessary ports to cameras

🔍 How to Verify

Check if Vulnerable:

Check firmware version in camera web interface under Maintenance > Firmware Version. If version is below 1.08.01, device is vulnerable.

Check Version:

curl -s http://<camera_ip>/cgi-bin/version.cgi | grep Firmware

Verify Fix Applied:

Confirm firmware version shows 1.08.01 or higher after upgrade.

📡 Detection & Monitoring

Log Indicators:

  • Multiple failed authentication attempts followed by ONVIF SetHostName requests
  • Unusual ONVIF protocol traffic patterns

Network Indicators:

  • ONVIF SOAP requests with abnormally long hostname parameters
  • Traffic to camera ports 80, 443, 554, 2020 from unexpected sources

SIEM Query:

source_ip="*" AND dest_port IN (80, 443, 554, 2020) AND http_user_agent CONTAINS "ONVIF" AND http_uri CONTAINS "SetHostName"

🔗 References

📤 Share & Export