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