CVE-2022-29778

8.8 HIGH

📋 TL;DR

CVE-2022-29778 is a remote code execution vulnerability in D-Link DIR-890L routers caused by hardcoded Wake-On-Lan credentials in the SetVirtualServerSettings.php file. Attackers can exploit this to execute arbitrary commands on affected devices. This affects all users of vulnerable D-Link DIR-890L router versions.

💻 Affected Systems

Products:
  • D-Link DIR-890L
Versions: 1.20b01 and likely earlier versions
Operating Systems: Router firmware
Default Config Vulnerable: ⚠️ Yes
Notes: All default configurations are vulnerable as the hardcoded credentials are present in the firmware.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of the router allowing attackers to intercept all network traffic, install persistent malware, pivot to internal network devices, and use the router as part of a botnet.

🟠

Likely Case

Router takeover leading to DNS hijacking, credential theft from network traffic, and installation of cryptocurrency miners or other malware.

🟢

If Mitigated

Limited impact if router is behind firewall with restricted WAN access, though internal attackers could still exploit.

🌐 Internet-Facing: HIGH - Routers are typically internet-facing devices, and this vulnerability requires no authentication for exploitation.
🏢 Internal Only: HIGH - Even if not internet-facing, any attacker on the local network can exploit this vulnerability.

🎯 Exploit Status

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

Multiple public proof-of-concept exploits exist on GitHub, making exploitation trivial for attackers with basic skills.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Check D-Link security bulletin for latest firmware

Vendor Advisory: https://www.dlink.com/en/security-bulletin/

Restart Required: Yes

Instructions:

1. Visit D-Link support website 2. Download latest firmware for DIR-890L 3. Log into router admin interface 4. Navigate to Firmware Update section 5. Upload and apply new firmware 6. Reboot router

🔧 Temporary Workarounds

Disable WAN Management

all

Prevent external access to router management interface

Network Segmentation

all

Isolate router on separate VLAN with restricted access

🧯 If You Can't Patch

  • Replace affected router with supported model
  • Place router behind firewall with strict inbound rules blocking all WAN access to management interface

🔍 How to Verify

Check if Vulnerable:

Check router firmware version in admin interface. If version is 1.20b01 or earlier, device is vulnerable.

Check Version:

Check via router web interface at System > Firmware or via SSH if enabled: cat /etc/version

Verify Fix Applied:

After firmware update, verify version is newer than 1.20b01 and test if SetVirtualServerSettings.php endpoint still accepts hardcoded credentials.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to SetVirtualServerSettings.php
  • Unexpected process execution in router logs
  • Failed authentication attempts with hardcoded credentials

Network Indicators:

  • Unusual outbound connections from router
  • DNS queries to suspicious domains
  • Unexpected traffic patterns

SIEM Query:

source="router_logs" AND (uri="/SetVirtualServerSettings.php" OR process="malicious_command")

🔗 References

📤 Share & Export