CVE-2025-9299
📋 TL;DR
A stack-based buffer overflow vulnerability in Tenda M3 routers allows remote attackers to execute arbitrary code by manipulating the 'Time' parameter in the formGetMasterPassengerAnalyseData function. This affects Tenda M3 routers running firmware version 1.0.0.12. The vulnerability is remotely exploitable and has a public proof-of-concept available.
💻 Affected Systems
- Tenda M3
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Remote code execution leading to complete device compromise, lateral movement to internal networks, and persistent backdoor installation.
Likely Case
Remote code execution allowing attackers to take control of the router, intercept network traffic, and pivot to internal systems.
If Mitigated
Denial of service or limited impact if proper network segmentation and access controls are implemented.
🎯 Exploit Status
Public proof-of-concept exploit code is available on GitHub. The vulnerability requires no authentication and has straightforward exploitation.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Unknown
Vendor Advisory: None found
Restart Required: Yes
Instructions:
1. Check Tenda's official website for firmware updates. 2. Download the latest firmware for M3 model. 3. Access router web interface. 4. Navigate to System Tools > Firmware Upgrade. 5. Upload and install the new firmware. 6. Reboot the router.
🔧 Temporary Workarounds
Disable Remote Management
allPrevent external access to the router's web management interface.
Access router web interface > System Tools > Remote Management > Disable
Network Segmentation
allIsolate Tenda M3 routers in a separate VLAN with restricted access.
🧯 If You Can't Patch
- Implement strict firewall rules to block external access to port 80/443 on the router
- Replace vulnerable Tenda M3 routers with patched or alternative models
🔍 How to Verify
Check if Vulnerable:
Check router firmware version in web interface: System Status > Firmware Version. If version is 1.0.0.12, device is vulnerable.
Check Version:
curl -s http://router-ip/goform/getMasterPassengerAnalyseData?Time=$(python3 -c "print('A'*1000)")
Verify Fix Applied:
Verify firmware version has been updated to a version later than 1.0.0.12.
📡 Detection & Monitoring
Log Indicators:
- Unusual HTTP POST requests to /goform/getMasterPassengerAnalyseData with long Time parameters
- Router crash/reboot logs
Network Indicators:
- HTTP requests with abnormally long Time parameter values to router IP
- Traffic patterns suggesting buffer overflow exploitation
SIEM Query:
source="router_logs" AND uri="/goform/getMasterPassengerAnalyseData" AND (param_length(Time) > 100 OR contains(Time, "AAAAAAAA"))
🔗 References
- https://github.com/davybat/IoT-Vuls/blob/main/tenda/formGetMasterPassengerAnalyseData.md
- https://github.com/davybat/IoT-Vuls/blob/main/tenda/formGetMasterPassengerAnalyseData.md#poc
- https://vuldb.com/?ctiid.320904
- https://vuldb.com/?id.320904
- https://vuldb.com/?submit.632336
- https://www.tenda.com.cn/
- https://github.com/davybat/IoT-Vuls/blob/main/tenda/formGetMasterPassengerAnalyseData.md
- https://github.com/davybat/IoT-Vuls/blob/main/tenda/formGetMasterPassengerAnalyseData.md#poc