CVE-2025-61044

9.8 CRITICAL

📋 TL;DR

This CVE describes a command injection vulnerability in TOTOLINK X18 routers that allows attackers to execute arbitrary commands on the device. The vulnerability exists in the setEasyMeshAgentCfg function via the agentName parameter. This affects users running vulnerable firmware versions of TOTOLINK X18 routers.

💻 Affected Systems

Products:
  • TOTOLINK X18
Versions: V9.1.0cu.2053_B20230309 and likely earlier versions
Operating Systems: Embedded Linux (router firmware)
Default Config Vulnerable: ⚠️ Yes
Notes: Affects the EasyMesh configuration functionality. No special configuration required for exploitation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete device compromise allowing full remote code execution, persistent backdoor installation, network pivoting to internal systems, and data exfiltration.

🟠

Likely Case

Router takeover enabling DNS hijacking, traffic interception, credential theft, and botnet recruitment.

🟢

If Mitigated

Limited impact with proper network segmentation, firewall rules blocking management interfaces, and regular firmware updates.

🌐 Internet-Facing: HIGH - Routers are typically internet-facing devices with management interfaces accessible from WAN.
🏢 Internal Only: MEDIUM - Internal attackers could exploit if they gain network access, but requires specific targeting.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Proof of concept available on GitHub. Exploitation requires access to the vulnerable endpoint, which may require authentication.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: Unknown

Restart Required: Yes

Instructions:

1. Check TOTOLINK website for firmware updates. 2. Download latest firmware. 3. Access router admin interface. 4. Navigate to firmware upgrade section. 5. Upload new firmware file. 6. Wait for reboot and verify version.

🔧 Temporary Workarounds

Disable Remote Management

all

Prevent external access to router management interface

Access router admin panel -> System -> Remote Management -> Disable

Network Segmentation

linux

Isolate router management interface to trusted network

iptables -A INPUT -p tcp --dport 80 -s TRUSTED_NET -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP

🧯 If You Can't Patch

  • Implement strict firewall rules to block all external access to router management interfaces (ports 80, 443, 8080)
  • Deploy network monitoring and intrusion detection systems to detect exploitation attempts

🔍 How to Verify

Check if Vulnerable:

Check router firmware version via admin interface or SSH if enabled. Compare against vulnerable version V9.1.0cu.2053_B20230309.

Check Version:

curl -s http://router-ip/cgi-bin/luci/ | grep -i version or check admin interface System Status

Verify Fix Applied:

Verify firmware version has been updated to a version later than V9.1.0cu.2053_B20230309. Test the setEasyMeshAgentCfg endpoint with safe payloads.

📡 Detection & Monitoring

Log Indicators:

  • Unusual commands in system logs
  • Multiple failed authentication attempts to admin interface
  • Suspicious POST requests to setEasyMeshAgentCfg endpoint

Network Indicators:

  • Unusual outbound connections from router
  • Traffic to known malicious IPs
  • DNS queries to suspicious domains

SIEM Query:

source="router.log" AND ("setEasyMeshAgentCfg" OR "agentName=" AND ("|" OR ";" OR "$" OR "`"))

🔗 References

📤 Share & Export