CVE-2025-62526
📋 TL;DR
CVE-2025-62526 is a heap buffer overflow vulnerability in OpenWrt's ubusd daemon that allows attackers to execute arbitrary code with ubus daemon privileges. All OpenWrt devices running versions before 24.10.4 are affected, and exploitation bypasses ACL checks, enabling unauthorized access to ubus functionality. The vulnerability affects the event registration parsing code before authentication checks.
💻 Affected Systems
- OpenWrt
📦 What is this software?
Openwrt by Openwrt
⚠️ Risk & Real-World Impact
Worst Case
Remote code execution with ubus daemon privileges leading to complete device compromise, persistence, and lateral movement within the network.
Likely Case
Privilege escalation leading to unauthorized access to device management functions, configuration modification, and potential denial of service.
If Mitigated
Limited impact if network segmentation prevents access to ubus services from untrusted networks.
🎯 Exploit Status
Exploitation requires crafting specific ubus messages but does not require authentication. The heap corruption nature makes exploitation moderately complex.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: OpenWrt 24.10.4
Vendor Advisory: https://github.com/openwrt/openwrt/security/advisories/GHSA-cp32-65v4-cp73
Restart Required: Yes
Instructions:
1. Update OpenWrt to version 24.10.4 or later using 'opkg update && opkg upgrade'. 2. Reboot the device to ensure ubusd restarts with the patched version.
🔧 Temporary Workarounds
No workarounds available
allThe vendor advisory states there are no workarounds for this vulnerability.
🧯 If You Can't Patch
- Restrict network access to ubus services using firewall rules to only allow trusted IP addresses.
- Monitor for unusual ubus activity and consider disabling ubus if not required for device functionality.
🔍 How to Verify
Check if Vulnerable:
Check OpenWrt version with 'cat /etc/openwrt_release' or 'opkg list-installed | grep ubus'. If version is earlier than 24.10.4, the system is vulnerable.
Check Version:
cat /etc/openwrt_release | grep DISTRIB_RELEASE
Verify Fix Applied:
Verify ubus package version with 'opkg list-installed | grep ubus' and ensure it shows version 24.10.4 or later.
📡 Detection & Monitoring
Log Indicators:
- Unusual ubus connection attempts
- Failed ubus authentication attempts
- Process crashes of ubusd
Network Indicators:
- Unexpected connections to ubus ports (typically 80/tcp for HTTP JSON-RPC)
- Malformed ubus protocol messages
SIEM Query:
source="ubusd" AND (event="crash" OR event="buffer_overflow" OR event="invalid_message")
🔗 References
- https://github.com/openwrt/openwrt/commit/4b907e69ea58fc0ba35fd1755dc4ba22262af3a4
- https://github.com/openwrt/openwrt/commit/a7901969932a175cded3c93bdeb65f32ed3705e6
- https://github.com/openwrt/openwrt/security/advisories/GHSA-cp32-65v4-cp73
- https://github.com/openwrt/ubus/commit/60e04048a0e2f3e33651c19e62861b41be4c290f
- https://github.com/openwrt/ubus/commit/aa4a7ee1d3417bc11207ad0a78d579ece7fe0c13
- https://github.com/openwrt/ubus/commit/d31effb4277bd557f5ccf16d909422718c1e49d0
- https://openwrt.org/advisory/2025-10-22-1