CVE-2024-4492
📋 TL;DR
A critical stack-based buffer overflow vulnerability in Tenda i21 routers allows remote attackers to execute arbitrary code by manipulating the GO/ssidIndex parameter. This affects Tenda i21 version 1.0.0.14(4656) routers exposed to the internet. Attackers can potentially take full control of affected devices.
💻 Affected Systems
- Tenda i21
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Remote code execution leading to complete device compromise, creation of persistent backdoors, lateral movement to internal networks, and botnet recruitment.
Likely Case
Remote code execution allowing attackers to modify router settings, intercept traffic, or use the device as a pivot point into internal networks.
If Mitigated
Limited impact if devices are behind firewalls with strict inbound filtering or in isolated network segments.
🎯 Exploit Status
Exploit details are publicly available on GitHub. The vulnerability requires no authentication and has straightforward exploitation.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Unknown
Vendor Advisory: None available - vendor did not respond to disclosure
Restart Required: No
Instructions:
No official patch available. Consider replacing affected devices or implementing strict network controls.
🔧 Temporary Workarounds
Network Segmentation and Firewall Rules
linuxBlock external access to the router's web interface and restrict internal access to trusted IPs only.
iptables -A INPUT -p tcp --dport 80 -s TRUSTED_IP -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP
Disable Remote Management
allEnsure remote management/administration is disabled on the router if not required.
🧯 If You Can't Patch
- Isolate affected routers in a dedicated VLAN with strict firewall rules preventing outbound connections
- Implement network monitoring and intrusion detection specifically for traffic to/from affected devices
🔍 How to Verify
Check if Vulnerable:
Check router firmware version via web interface at http://router_ip/ or using command: curl -s http://router_ip/goform/getStatus | grep version
Check Version:
curl -s http://router_ip/goform/getStatus | grep -o '"version":"[^"]*"'
Verify Fix Applied:
No official fix available. Verify workarounds by testing that the vulnerable endpoint is inaccessible from untrusted networks.
📡 Detection & Monitoring
Log Indicators:
- Multiple POST requests to /goform/setStaOffline with unusual GO/ssidIndex parameters
- Unusual process creation or system modifications in router logs
Network Indicators:
- Unusual outbound connections from router to unknown IPs
- Traffic patterns suggesting command and control communication
SIEM Query:
source="router_logs" AND (url="/goform/setStaOffline" AND (method="POST" AND (param="GO" OR param="ssidIndex")))
🔗 References
- https://github.com/abcdefg-png/IoT-vulnerable/blob/main/Tenda/i/i21/formOfflineSet.md
- https://vuldb.com/?ctiid.263081
- https://vuldb.com/?id.263081
- https://vuldb.com/?submit.323601
- https://github.com/abcdefg-png/IoT-vulnerable/blob/main/Tenda/i/i21/formOfflineSet.md
- https://vuldb.com/?ctiid.263081
- https://vuldb.com/?id.263081
- https://vuldb.com/?submit.323601