Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to LuCI with OpenVPN config rights
-
DeliveryOpen OpenVPN protocol configuration
-
ExploitInject shell metacharacters into cl_meta
-
ExecutionInvoke generateKey ubus method
-
Persistpopen() executes payload as root
-
ImpactFull device compromise
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK
2 techniques across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires an authenticated LuCI session belonging to a user who has OpenVPN protocol configuration access, and the device must have the luci-proto-openvpn module installed and reachable. The concrete trigger is supplying shell metacharacters in the cl_meta parameter of the generateKey ubus method, which is interpolated unquoted into a popen() shell command. Limiting factors: it is not pre-authentication (PR:L) and not exploitable by an arbitrary unauthenticated network user, so it functions as escalation from a constrained LuCI/OpenVPN-admin role to root; it also depends on the OpenVPN protocol UI being present and the management interface being network-reachable to the attacker. No user interaction by a victim is required (UI:N). |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H) describes a network-reachable, low-complexity attack requiring low privileges and no user interaction, yielding high impact across all three security properties - a credible priority for any exposed OpenWrt device. The key mitigating signal is PR:L: the attacker must already be an authenticated LuCI user holding OpenVPN configuration rights, so this is a privilege-escalation-to-root primitive rather than a pre-auth takeover. There is no CISA KEV listing and no public exploit identified at time of analysis, and no EPSS score was provided, so real-world exploitation probability cannot be quantified from the input; the absence of these signals should not be read as low risk given the trivial exploitation mechanics once authenticated. The principal real-world risk is environments where LuCI accounts are shared, weakly protected, or where a lower-trust admin role can reach OpenVPN settings, effectively collapsing the boundary between web-admin and root. |
| Exploit ScenarioDerived | A user with a low-privilege LuCI account that can edit OpenVPN protocol settings navigates to the OpenVPN configuration and submits a cl_meta value containing shell metacharacters (for example appending '; <command>' or '$(<command>)'). When generateKey is invoked over ubus, the injected payload is executed by popen() as root, giving the attacker a root shell or persistence on the router. No public proof-of-concept is identified at time of analysis, but the network attack vector and low complexity make weaponization straightforward for an authenticated user. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 29, 2026
Root command injection in OpenWrt's LuCI web interface (luci-proto-openvpn through 0.11.1) lets an authenticated user with OpenVPN protocol configuration access run arbitrary commands as root. The flaw lives in the generateKey ubus method, where the cl_meta parameter is passed unescaped into a popen() shell call. No public exploit has been identified at time of analysis, but a vendor advisory (GHSA-pm9w-522m-8rrh) and fix commit exist, and the CVSS 4.0 score of 8.7 reflects full confidentiality, integrity, and availability impact on the affected device.
RemediationAI
Upstream fix available (PR/commit); released patched version not independently confirmed - apply the patch from commit e4ff45ecbc6ad212951815c8c99b2749fbd7de6b (https://github.com/openwrt/luci/commit/e4ff45ecbc6ad212951815c8c99b2749fbd7de6b) by updating luci-proto-openvpn to a build that includes it (post-0.11.1), per the vendor advisory at https://github.com/openwrt/luci/security/advisories/GHSA-pm9w-522m-8rrh. Where immediate patching is not possible, restrict who can authenticate to LuCI and specifically who holds OpenVPN protocol configuration rights, since the attack requires that access; remove or uninstall the luci-proto-openvpn package on devices that do not use OpenVPN as a managed protocol (trade-off: OpenVPN can no longer be configured through the web UI). Additionally, ensure the LuCI/uhttpd management interface is not exposed to untrusted networks or the WAN and is reachable only over trusted management VLANs or VPN (trade-off: remote browser administration becomes unavailable from outside that segment). Enforce strong, unique LuCI credentials to reduce the chance that a low-trust account is abused to reach the vulnerable method.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
LuCI is the default Lua/JavaScript web administration framework shipped on OpenWrt embedded Linux devices, and luci-proto-openvpn is the LuCI sub-module that exposes OpenVPN as a configurable network protocol. The vulnerability is a classic CWE-78 OS command injection: the generateKey method exposed over ubus (OpenWrt's micro bus IPC layer) builds a shell command string and interpolates the attacker-controllable cl_meta parameter directly into it, then executes it via popen(). Because no shell escaping or quoting is applied, metacharacters such as ;, |, $(), or backticks break out of the intended command. ubus methods invoked from LuCI generally run with the privileges of the rpcd/uhttpd backend, which on OpenWrt is root, so successful injection yields root-level execution. The CPE cpe:2.3:a:openwrt:luci confirms the OpenWrt LuCI package as the affected component.
Know when Luci gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Network-reachable ubus method, low complexity, requires an authenticated OpenVPN-config LuCI user (PR:L), and root command execution gives full C/I/A impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
luci-proto-openvpn through 0.11.1, fixed in commit e4ff45e, contains a command injection vulnerability in the generateKey ubus method where the cl_meta parameter is interpolated into a shell command without proper escaping or quoting. An authenticated LuCI user with OpenVPN protocol configuration access can inject arbitrary shell metacharacters into cl_meta to execute commands as root via the popen function.
Executive ViewAI
OpenWrt's LuCI configuration interface contains a root command injection vulnerability (CVSS 8.7) allowing authenticated administrators to execute arbitrary commands with elevated privileges. For organizations using OpenWrt-based routers or edge devices, this creates a critical insider threat and network compromise risk, enabling lateral movement to connected systems. The vulnerability affects versions through 0.11.1 and requires immediate patching.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
OS command injection occurs when an application passes unsanitized user input directly into system shell commands.
Stored cross-site scripting in OpenWrt's LuCI web interface lets an adjacent-network attacker inject executable HTML/Jav
In OpenWrt LuCI through 0.10, the endpoints admin/status/realtime/bandwidth_status and admin/status/realtime/wireless_st
LuCI openwrt-22.03 branch git-22.361.69894-438c598 was discovered to contain a reflected cross-site scripting (XSS) vuln
OpenWRT LuCI version git-22.140.66206-02913be was discovered to contain a stored cross-site scripting (XSS) vulnerabilit
In OpenWrt LuCI git-20.x, remote unauthenticated attackers can retrieve the list of installed packages and services. Rat
OS command injection in OpenWrt's luci-app-dockerman grants any authenticated user holding only the read ACL full root-l
Authenticated delegated LuCI sessions that hold the luci-app-advanced-reboot read ACL can execute arbitrary commands as
Privilege escalation to root in OpenWrt's luci-app-samba4 (LuCI web interface) lets authenticated delegated users invoke
Unauthenticated path traversal in OpenWrt's luci-app-bmx7 package exposes arbitrary files on affected routers via the bm
Ban-list poisoning in OpenWrt's luci-app-banip (banIP) before 1.8.10 lets an unauthenticated remote attacker steer the a
Stored cross-site scripting in OpenWrt's luci-app-upnp lets an unauthenticated LAN client persist a JavaScript payload t
A stored cross-site scripting (XSS) vulnerability exists in the OpenWrt LuCI web interface where malicious JavaScript co
EUVD-2026-40172
GHSA-833j-64r7-8r2r
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB