CVE-2025-13304

8.8 HIGH

📋 TL;DR

A buffer overflow vulnerability in D-Link routers allows remote attackers to execute arbitrary code by manipulating the 'host' parameter in the ping diagnostic form. This affects D-Link DWR-M920, DWR-M921, DWR-M960, DWR-M961, and DIR-825M routers running vulnerable firmware versions. Attackers can exploit this without authentication to potentially take full control of affected devices.

💻 Affected Systems

Products:
  • D-Link DWR-M920
  • D-Link DWR-M921
  • D-Link DWR-M960
  • D-Link DWR-M961
  • D-Link DIR-825M
Versions: 1.01.07/1.1.47
Operating Systems: Embedded router firmware
Default Config Vulnerable: ⚠️ Yes
Notes: Affects the web interface component handling ping diagnostic requests. No special configuration required for exploitation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution leading to complete device compromise, lateral movement to internal networks, persistent backdoor installation, and botnet recruitment.

🟠

Likely Case

Remote code execution allowing attackers to modify router settings, intercept traffic, or use the device as a pivot point for further attacks.

🟢

If Mitigated

Denial of service or limited information disclosure if exploit fails or is partially mitigated by security controls.

🌐 Internet-Facing: HIGH - The vulnerability is remotely exploitable without authentication on internet-facing routers.
🏢 Internal Only: MEDIUM - Internal routers could be exploited by attackers who have gained network access through other means.

🎯 Exploit Status

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

Public exploit code exists in GitHub repositories. The vulnerability requires sending a specially crafted HTTP request to the vulnerable endpoint.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: Not available

Restart Required: Yes

Instructions:

1. Check D-Link security advisories for firmware updates. 2. Download appropriate firmware for your model. 3. Access router admin interface. 4. Navigate to firmware update section. 5. Upload and apply new firmware. 6. Reboot router.

🔧 Temporary Workarounds

Disable WAN access to admin interface

all

Prevent external access to the vulnerable web interface component

Access router admin panel -> Security -> Remote Management -> Disable

Block access to vulnerable endpoint

linux

Use firewall rules to block access to /boafrm/formPingDiagnosticRun

iptables -A INPUT -p tcp --dport 80 -m string --string "/boafrm/formPingDiagnosticRun" --algo bm -j DROP
iptables -A INPUT -p tcp --dport 443 -m string --string "/boafrm/formPingDiagnosticRun" --algo bm -j DROP

🧯 If You Can't Patch

  • Replace affected routers with supported models
  • Isolate vulnerable routers in separate network segments with strict firewall rules

🔍 How to Verify

Check if Vulnerable:

Check router firmware version in admin interface or via command: curl -s http://router-ip/ | grep -i 'firmware version'

Check Version:

curl -s http://router-ip/ | grep -i 'version' || ssh admin@router 'show version'

Verify Fix Applied:

Verify firmware version is updated beyond 1.01.07/1.1.47 and test if /boafrm/formPingDiagnosticRun endpoint responds to malicious payloads

📡 Detection & Monitoring

Log Indicators:

  • Unusual HTTP POST requests to /boafrm/formPingDiagnosticRun
  • Large payloads in ping diagnostic requests
  • Multiple failed login attempts followed by ping diagnostic access

Network Indicators:

  • HTTP traffic to router IP on port 80/443 with long host parameter values
  • Unusual outbound connections from router after ping diagnostic requests

SIEM Query:

source="router_logs" AND (url="/boafrm/formPingDiagnosticRun" AND (host="*" OR content_length>100))

🔗 References

📤 Share & Export