CVE-2023-35733

8.8 HIGH

📋 TL;DR

This is a critical stack-based buffer overflow vulnerability in D-Link DAP-2622 routers that allows network-adjacent attackers to execute arbitrary code as root without authentication. The flaw exists in the DDP service when processing password change requests. All users of affected DAP-2622 routers are at risk.

💻 Affected Systems

Products:
  • D-Link DAP-2622
Versions: All versions prior to firmware version 1.10B02
Operating Systems: Embedded Linux-based firmware
Default Config Vulnerable: ⚠️ Yes
Notes: DDP service runs by default on port 6050/tcp. No authentication required to trigger the vulnerable endpoint.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of the router with root privileges, allowing attackers to intercept/modify all network traffic, install persistent malware, pivot to internal networks, and brick the device.

🟠

Likely Case

Router takeover leading to man-in-the-middle attacks, credential theft, network reconnaissance, and potential lateral movement to connected devices.

🟢

If Mitigated

Limited to denial of service if exploit attempts are detected and blocked, but successful exploitation still leads to full compromise.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: HIGH

🎯 Exploit Status

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

ZDI published detailed advisory with technical details. No public exploit code available but vulnerability is trivial to weaponize given the technical details provided.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Firmware version 1.10B02

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

Restart Required: Yes

Instructions:

1. Download firmware 1.10B02 from D-Link support site. 2. Log into router web interface. 3. Navigate to System > Firmware Update. 4. Upload and apply the new firmware. 5. Wait for automatic reboot.

🔧 Temporary Workarounds

Block DDP Service Port

linux

Block access to the vulnerable DDP service port 6050/tcp using firewall rules

iptables -A INPUT -p tcp --dport 6050 -j DROP

Disable DDP Service

linux

Disable the DDP service if not required for network functionality

killall ddpd
chmod -x /usr/sbin/ddpd

🧯 If You Can't Patch

  • Segment affected routers into isolated VLANs with strict firewall rules
  • Implement network monitoring for exploit attempts on port 6050/tcp

🔍 How to Verify

Check if Vulnerable:

Check current firmware version via web interface (System > Status) or SSH (cat /etc/version). If version is older than 1.10B02, device is vulnerable.

Check Version:

cat /etc/version

Verify Fix Applied:

Verify firmware version shows 1.10B02 or newer. Test DDP service response on port 6050/tcp - should not crash with malformed requests.

📡 Detection & Monitoring

Log Indicators:

  • DDP service crash logs
  • Unusual process spawns from ddpd
  • Failed authentication attempts on port 6050

Network Indicators:

  • Unusual traffic to port 6050/tcp
  • Large payloads sent to DDP service
  • Shellcode patterns in network captures

SIEM Query:

destination_port:6050 AND (payload_size > 1024 OR contains(payload, '\x90\x90\x90') OR contains(payload, '/bin/sh'))

🔗 References

📤 Share & Export