TOTOLINK N300RH, Command Injection, CVE-2025-4850 (Critical)

Listen to this Post

How CVE-2025-4850 Works

The vulnerability exists in TOTOLINK N300RH router firmware version 6.1c.1390_B20191101. The `/cgi-bin/cstecgi.cgi` endpoint fails to properly sanitize user-supplied input in the `plugin_name` parameter of the `setUnloadUserData` function. This allows authenticated attackers to inject arbitrary commands through crafted HTTP requests. The router executes these commands with root privileges due to insufficient input validation and lack of proper shell metacharacter filtering. Attackers can exploit this remotely by sending malicious POST requests to the vulnerable endpoint.

DailyCVE Form

Platform: TOTOLINK N300RH
Version: 6.1c.1390_B20191101
Vulnerability: Command Injection
Severity: Critical
Date: 05/17/2025

What Undercode Say:

Exploit PoC (curl)
curl -X POST http://[bash]/cgi-bin/cstecgi.cgi \
-d '{"topicurl":"setUnloadUserData","plugin_name":"test;id>/tmp/exploit;"}'
Detection Command
grep -r "setUnloadUserData" /www/cgi-bin/
Mitigation Steps
1. Disable remote admin access
2. Apply vendor patch if available
3. Implement input validation rules:
sed -i 's/plugin_name=/plugin_name=$(echo & | sed "s\/[;|&]\/\/g")/g' /cgi-bin/cstecgi.cgi
Network Protection
iptables -A INPUT -p tcp --dport 80 -m string --string "setUnloadUserData" --algo bm -j DROP
Verification Command
ps aux | grep cstecgi.cgi | grep -v grep
Backup Config
cp /cgi-bin/cstecgi.cgi /cgi-bin/cstecgi.cgi.bak
Log Monitoring
tail -f /var/log/messages | grep cgi-bin
Temporary Workaround
chmod 750 /cgi-bin/cstecgi.cgi
Vulnerability Scan
nmap --script http-vuln-cve2025-4850.nse [bash]
Patch Verification
md5sum /cgi-bin/cstecgi.cgi | grep [bash]
Exploit Prevention
echo "export LANG=C" >> /etc/profile

Sources:

Reported By: nvd.nist.gov
Extra Source Hub:
Undercode

Join Our Cyber World:

💬 Whatsapp | 💬 TelegramFeatured Image

Scroll to Top