Skip to main content

luci-app-upnp CVE-2026-61875

| EUVDEUVD-2026-43235 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-07-12 VulnCheck GHSA-xwgp-pprm-vcx3
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Gain LAN network position
  2. Delivery
    Send crafted AddPortMapping SOAP request
  3. Exploit
    Inject script into NewPortMappingDescription
  4. Install
    miniupnpd stores malicious mapping
  5. C2
    Admin opens UPnP/Status page
  6. Execute
    Payload executes in admin session
  7. Impact
    Hijack 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

Vendor (VulnCheck) PRIMARY 8.7 HIGH
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
vuln.today AI 9.3 CRITICAL

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.

3.1 AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.3%
Top 79% exploitable
Prevalence
Medium
OpenWrt/LuCI is widely used on routers, but UPnP app is optional
Social Media
3
Sightings
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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

cpe:2.3:a:openwrt:luci:*:*:*:*:*:*:*:*

More in Luci

View all
CVE-2026-61876 CRITICAL POC
9.4 Jul 12

Stored cross-site scripting in OpenWrt's LuCI web interface lets an adjacent-network attacker inject executable HTML/Jav

CVE-2019-12272 CRITICAL
9.8 May 23

In OpenWrt LuCI through 0.10, the endpoints admin/status/realtime/bandwidth_status and admin/status/realtime/wireless_st

CVE-2023-24181 MEDIUM POC
5.4 Apr 10

LuCI openwrt-22.03 branch git-22.361.69894-438c598 was discovered to contain a reflected cross-site scripting (XSS) vuln

CVE-2022-41435 MEDIUM POC
5.4 Nov 03

OpenWRT LuCI version git-22.140.66206-02913be was discovered to contain a stored cross-site scripting (XSS) vulnerabilit

CVE-2020-10871 MEDIUM POC
5.3 Mar 23

In OpenWrt LuCI git-20.x, remote unauthenticated attackers can retrieve the list of installed packages and services. Rat

CVE-2026-69096 HIGH
8.7 Aug 03

OS command injection in OpenWrt's luci-app-dockerman grants any authenticated user holding only the read ACL full root-l

CVE-2026-58000 HIGH
8.7 Jun 29

Root command injection in OpenWrt's LuCI web interface (luci-proto-openvpn through 0.11.1) lets an authenticated user wi

CVE-2026-55897 HIGH
8.8 Sep 21

Authenticated delegated LuCI sessions that hold the luci-app-advanced-reboot read ACL can execute arbitrary commands as

CVE-2026-59260 HIGH
8.7 Jul 12

Privilege escalation to root in OpenWrt's luci-app-samba4 (LuCI web interface) lets authenticated delegated users invoke

CVE-2026-69095 HIGH
8.7 Aug 03

Unauthenticated path traversal in OpenWrt's luci-app-bmx7 package exposes arbitrary files on affected routers via the bm

CVE-2026-62184 HIGH
8.7 Jul 13

Ban-list poisoning in OpenWrt's luci-app-banip (banIP) before 1.8.10 lets an unauthenticated remote attacker steer the a

CVE-2026-32721 HIGH
8.6 Mar 19

A stored cross-site scripting (XSS) vulnerability exists in the OpenWrt LuCI web interface where malicious JavaScript co

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy