CVE-2021-47854

9.8 CRITICAL

📋 TL;DR

CVE-2021-47854 is a critical buffer overflow vulnerability in DD-WRT's UPnP service that allows remote attackers to execute arbitrary code on affected routers. Attackers can exploit this by sending specially crafted M-SEARCH packets with oversized UUID payloads. This affects DD-WRT version 45723 installations with UPnP enabled.

💻 Affected Systems

Products:
  • DD-WRT
Versions: Version 45723 specifically
Operating Systems: DD-WRT firmware
Default Config Vulnerable: ⚠️ Yes
Notes: Only vulnerable when UPnP service is enabled (enabled by default in many DD-WRT configurations).

⚠️ 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 device compromise allowing attackers to install persistent malware, pivot to internal networks, intercept traffic, or brick the router.

🟠

Likely Case

Router takeover leading to DNS hijacking, credential theft, or use as botnet node for DDoS attacks.

🟢

If Mitigated

Limited impact if UPnP is disabled or network segmentation prevents direct access.

🌐 Internet-Facing: HIGH - UPnP service typically listens on WAN interface, making routers directly accessible from internet.
🏢 Internal Only: MEDIUM - Internal attackers could exploit if they gain network access, but requires UPnP to be enabled.

🎯 Exploit Status

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

Exploit code is publicly available on Exploit-DB and other sources, making this easily weaponizable.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Versions after 45723

Vendor Advisory: https://dd-wrt.com/

Restart Required: Yes

Instructions:

1. Access DD-WRT web interface. 2. Navigate to Administration > Commands. 3. Run 'nvram set dd_beta=1' then 'nvram commit'. 4. Go to Administration > Firmware Upgrade. 5. Download latest beta from https://download1.dd-wrt.com/dd-wrtv2/downloads/betas/. 6. Flash new firmware and reboot.

🔧 Temporary Workarounds

Disable UPnP Service

linux

Disables the vulnerable UPnP service entirely

nvram set upnp_enable=0
nvram commit
reboot

Block UPnP Ports

linux

Blocks external access to UPnP ports (1900/udp)

iptables -A INPUT -p udp --dport 1900 -j DROP

🧯 If You Can't Patch

  • Disable UPnP service immediately via web interface or SSH
  • Implement network segmentation to isolate DD-WRT routers from untrusted networks

🔍 How to Verify

Check if Vulnerable:

Check DD-WRT version via web interface (Status > Router) or SSH command 'nvram get os_version' - if version is 45723 and UPnP is enabled, device is vulnerable.

Check Version:

nvram get os_version

Verify Fix Applied:

Verify version is newer than 45723 and UPnP service is either disabled or patched version is running.

📡 Detection & Monitoring

Log Indicators:

  • Multiple oversized M-SEARCH packets in router logs
  • UPnP service crash entries

Network Indicators:

  • Unusual UDP traffic on port 1900 with large payloads
  • Multiple M-SEARCH requests from single source

SIEM Query:

source_port:1900 AND packet_size>1000 AND protocol:UDP

🔗 References

📤 Share & Export