Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconGain LAN network position
-
DeliverySend crafted AddPortMapping SOAP request
-
ExploitInject script into NewPortMappingDescription
-
Installminiupnpd stores malicious mapping
-
C2Admin opens UPnP/Status page
-
ExecutePayload executes in admin session
-
ImpactHijack router administration
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires that the UPnP IGD service (miniupnpd) is enabled and accepting AddPortMapping requests - the default when luci-app-upnp/miniupnpd are installed and turned on - and that the attacker can reach the UPnP control endpoint, which is normally exposed to LAN clients only (no authentication needed, consistent with PR:N). Exploitation is limited by the need for administrator user interaction (UI:P): the injected payload only executes when an admin actually views the UPnP or Status page in LuCI. It is further limited to environments where UPnP is deployed and enabled; routers with UPnP disabled or the package not installed are not exploitable, and the attacker must already have LAN adjacency rather than pure internet access. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P) describes an unauthenticated, low-complexity attack whose only gating factor is passive user interaction - the admin merely viewing the UPnP or Status page - yielding high confidentiality and integrity impact to the vulnerable system (VC:H/VI:H) and a score of 8.7. That said, 'AV:N' overstates reach in practice: UPnP IGD control is normally exposed only to the LAN, so the realistic attacker is a host already on the local network (malware, a rogue guest device, or a compromised IoT node), not the open internet. There is no EPSS score, no KEV listing, and no published POC in the provided data, so exploitation is plausible and low-effort but not currently observed in the wild. Net priority: a genuine and easily-weaponized stored-XSS against the router management plane, but bounded by LAN adjacency and the need for an admin to open the affected page. |
| Exploit ScenarioDerived | A malware-infected laptop or IoT device on the LAN sends a crafted UPnP AddPortMapping SOAP request to miniupnpd with a NewPortMappingDescription such as '<img src=x onerror=fetch("/cgi-bin/luci/...")>'. miniupnpd stores the mapping, and the next time the router administrator opens the LuCI UPnP or Status page, the script runs in the admin's authenticated session and can change router configuration or exfiltrate session data. No published POC is available, but the attack is low-complexity given standard UPnP tooling. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 12, 2026
Stored cross-site scripting in OpenWrt's luci-app-upnp lets an unauthenticated LAN client persist a JavaScript payload that executes in the router administrator's browser. By supplying malicious HTML in the NewPortMappingDescription field of a UPnP IGD AddPortMapping SOAP request, an attacker gets miniupnpd to store the value and luci-app-upnp to render it unencoded on the UPnP and Status pages. No public exploit identified at time of analysis, and it is not listed in CISA KEV; the CVSS 4.0 base score is 8.7 (High).
RemediationAI
Patch available per vendor advisory: apply the fixed luci-app-upnp package published via the OpenWrt/LuCI GitHub security advisory GHSA-8v49-6387-7f89 (https://github.com/openwrt/luci/security/advisories/GHSA-8v49-6387-7f89) by running 'opkg update && opkg upgrade luci-app-upnp' (or rebuilding firmware from patched sources); an exact fixed version number is not stated in the available data and should be taken from the advisory. Where immediate patching is not possible, compensating controls include disabling the UPnP IGD service entirely (uci set upnpd.config.enabled='0' or removing miniupnpd) which stops attackers from storing descriptions but also removes automatic port-mapping for LAN clients; restricting which LAN hosts may reach the miniupnpd control endpoint via firewall rules to trusted segments only; and, as an operational precaution, avoiding the UPnP/Status LuCI pages from an authenticated admin session until patched, since rendering those pages is what triggers the stored payload.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The affected component is luci-app-upnp, the LuCI web-interface module that displays UPnP port-mapping state on OpenWrt (CPE cpe:2.3:a:openwrt:luci). It works in tandem with miniupnpd, the UPnP Internet Gateway Device daemon that accepts AddPortMapping SOAP calls from LAN hosts and records each mapping's free-text NewPortMappingDescription. The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation): miniupnpd persists the attacker-controlled description verbatim, and the LuCI view template emits it into the admin HTML page without output encoding, so any markup or <script>/event-handler content in the description is parsed and executed as part of the trusted admin origin.
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:N/UI:P/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N
Unauthenticated LAN request (PR:N, AV:N) but payload fires only when an admin views the page (UI:R); stored XSS executes in the admin origin, changing scope (S:C) with high confidentiality/integrity impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
luci-app-upnp contains a stored cross-site scripting vulnerability that allows unauthenticated LAN clients to inject JavaScript via UPnP IGD AddPortMapping SOAP requests. Attackers can send malicious HTML in the NewPortMappingDescription field, which miniupnpd stores and luci-app-upnp renders without output encoding, executing the payload when administrators view the UPnP or Status pages.
Executive ViewAI
OpenWrt's luci-app-upnp contains a stored cross-site scripting vulnerability (CVE-2026-61875, CVSS 8.7) that enables unauthenticated LAN clients to inject malicious JavaScript into the router's management interface, executing in administrators' browsers. Compromised routers could be leveraged to intercept credentials, modify configurations, or enable persistent network access. Organizations operating OpenWrt should immediately inventory affected deployments and restrict administrative access pending vendor remediation.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Disable UPnP IGD service in affected OpenWrt instances where operationally feasible, (2) Restrict LAN-to-router administrative interface access via firewall ACLs to known administrative subnets only, (3) Implement strict network segmentation preventing guest/untrusted LAN clients from communicating with router UPnP ports, (4) Monitor HTTP access logs for unusual PortMappingDescription parameter values and script/HTML patterns in UPnP SOAP requests.
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
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
Affected Products (CPE)CVE.org
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
Root command injection in OpenWrt's LuCI web interface (luci-proto-openvpn through 0.11.1) lets an authenticated user wi
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
A stored cross-site scripting (XSS) vulnerability exists in the OpenWrt LuCI web interface where malicious JavaScript co
EUVD-2026-43235
GHSA-xwgp-pprm-vcx3
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB