CVE-2023-25092

7.2 HIGH

📋 TL;DR

This CVE describes multiple buffer overflow vulnerabilities in the vtysh_ubus binary of Milesight UR32L routers, caused by unsafe sprintf usage. Attackers with high privileges can send specially crafted HTTP requests to trigger arbitrary code execution. Only Milesight UR32L router users running vulnerable firmware are affected.

💻 Affected Systems

Products:
  • Milesight UR32L
Versions: v32.3.0.5 and possibly earlier
Operating Systems: Embedded Linux
Default Config Vulnerable: ⚠️ Yes
Notes: Requires attacker to have high privileges (admin access) to exploit via HTTP requests.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete device compromise allowing attacker to execute arbitrary code, pivot to internal networks, and maintain persistent access.

🟠

Likely Case

Privileged attacker gains remote code execution on the router, potentially intercepting traffic or modifying configurations.

🟢

If Mitigated

With proper network segmentation and access controls, impact limited to the router itself without lateral movement.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: HIGH

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires authenticated access and knowledge of buffer overflow techniques.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: Not publicly available

Restart Required: Yes

Instructions:

1. Check Milesight website for firmware updates
2. Download latest firmware
3. Upload via web interface
4. Apply and reboot router

🔧 Temporary Workarounds

Restrict HTTP Management Access

linux

Limit HTTP management interface access to trusted IP addresses only

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

Disable Unused Features

linux

Disable HTTP management interface if not required

service httpd stop
chkconfig httpd off

🧯 If You Can't Patch

  • Segment router on isolated network VLAN
  • Implement strict access controls limiting admin privileges

🔍 How to Verify

Check if Vulnerable:

Check firmware version via web interface or SSH: cat /etc/version

Check Version:

cat /etc/version

Verify Fix Applied:

Verify firmware version is newer than v32.3.0.5

📡 Detection & Monitoring

Log Indicators:

  • Unusual HTTP requests to management interface
  • Multiple failed authentication attempts followed by buffer overflow patterns

Network Indicators:

  • HTTP requests with unusually long interface or out_acl parameters
  • Traffic patterns suggesting buffer overflow exploitation

SIEM Query:

source="router_logs" AND (http_uri="*interface=*" OR http_uri="*out_acl=*") AND http_uri_length>100

🔗 References

📤 Share & Export