CVE-2025-65008

N/A Unknown

📋 TL;DR

This vulnerability allows remote attackers to execute arbitrary system commands on affected WODESYS routers via the langGet parameter in the adm.cgi endpoint. Attackers can gain full control of the router without authentication. All users of vulnerable WODESYS router models are affected.

💻 Affected Systems

Products:
  • WODESYS WD-R608U
  • WDR122B V2.0
  • WDR28
Versions: WDR28081123OV1.01 confirmed vulnerable, other versions likely affected
Operating Systems: Router firmware
Default Config Vulnerable: ⚠️ Yes
Notes: Vendor did not provide full version range details. All versions should be considered potentially vulnerable until proven otherwise.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of router allowing attackers to intercept all network traffic, pivot to internal networks, install persistent backdoors, or brick the device.

🟠

Likely Case

Attackers gain router administrative access to monitor traffic, change DNS settings, or use the router as a foothold for further attacks.

🟢

If Mitigated

Limited impact if routers are behind firewalls with strict inbound filtering and network segmentation.

🌐 Internet-Facing: HIGH - Routers are typically internet-facing devices with the vulnerable endpoint accessible remotely.
🏢 Internal Only: MEDIUM - If routers are only accessible internally, risk is reduced but still significant for lateral movement.

🎯 Exploit Status

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

Exploitation requires simple HTTP requests to the vulnerable endpoint with crafted parameters. Public references suggest exploit details are available.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: None available

Restart Required: Yes

Instructions:

No official patch available. Monitor vendor website for firmware updates and apply immediately when released.

🔧 Temporary Workarounds

Block adm.cgi endpoint

linux

Use firewall rules to block access to the vulnerable adm.cgi endpoint

iptables -A INPUT -p tcp --dport 80 -m string --string "adm.cgi" --algo bm -j DROP
iptables -A INPUT -p tcp --dport 443 -m string --string "adm.cgi" --algo bm -j DROP

Disable web administration interface

all

Disable remote web administration if not required

Check router settings for 'Remote Management' or 'Web Administration' and disable

🧯 If You Can't Patch

  • Replace affected routers with different models from vendors with better security response
  • Place routers behind dedicated firewalls with strict inbound filtering and IDS/IPS rules

🔍 How to Verify

Check if Vulnerable:

Test by sending HTTP request to router IP: http://[router-ip]/adm.cgi?langGet=;id (check for command output in response)

Check Version:

Check router web interface or use nmap: nmap -sV -p 80,443 [router-ip]

Verify Fix Applied:

Test same exploit attempt after applying mitigations - should no longer execute commands

📡 Detection & Monitoring

Log Indicators:

  • HTTP requests to /adm.cgi with langGet parameter containing shell metacharacters
  • Unusual command execution in router logs
  • Multiple failed login attempts followed by successful access

Network Indicators:

  • HTTP traffic to router admin interface containing shell commands in parameters
  • Unusual outbound connections from router to external IPs

SIEM Query:

source="router_logs" AND (url="/adm.cgi" AND (param="langGet" AND value MATCHES "[;&|`]"))

🔗 References

📤 Share & Export