Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAttacker authenticates with low-privilege LuCI account
-
DeliveryInjects JavaScript payload into blocklist name field
-
ExploitPayload persisted in router configuration
-
ExecutionAdministrator browses AdBlock Fast status page
-
PersistStored XSS executes in admin browser under LuCI origin
-
ImpactAdmin session or router configuration compromised
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 | Exploitation requires the attacker to hold an active lower-privileged (non-admin) account on the LuCI web interface - this is the primary limiting condition. The router must be explicitly configured with multi-user LuCI access, as default OpenWrt installations typically provision a single admin account only. The second required condition is that an administrator must actively browse to the AdBlock Fast status page after the payload has been stored (UI:P per CVSS 4.0), meaning there is no self-propagating or passive trigger. The attack surface is further limited to networks where the LuCI interface is reachable (AV:N), typically the router's LAN side; exploitation from the WAN requires the LuCI interface to be deliberately exposed externally. There is no requirement for a non-default plugin configuration beyond luci-app-adblock-fast being installed and the blocklist name field being writable by the attacker's account. |
| Impact | The CVSS 4.0 score of 5.1 (AV:N/AC:L/AT:N/PR:L/UI:P) accurately reflects a medium-severity, multi-prerequisite issue. The PR:L metric confirms a low-privileged account is required, and UI:P indicates that administrator interaction - specifically browsing to the AdBlock Fast status page - is a hard dependency, meaningfully reducing exploitation probability. Impact metrics (VC:L/VI:L/VA:N/SC:L/SI:L/SA:N) indicate limited direct confidentiality and integrity exposure per individual action, though the same-origin execution context elevates actual risk above raw scores suggest: JavaScript running under the LuCI origin can interact with all router admin APIs, potentially chaining this XSS into full administrative compromise. There is no CISA KEV listing and no public proof-of-concept, indicating this is not currently being actively exploited at scale. The real-world risk is highest on routers explicitly configured with multiple user accounts at different privilege levels - default single-admin OpenWrt deployments are less exposed. |
| Exploit ScenarioDerived | An attacker with a lower-privileged LuCI account navigates to the AdBlock Fast blocklist configuration page and submits a blocklist entry whose name field contains a JavaScript payload such as a script tag referencing an external resource or performing direct API calls. The payload is stored in the router configuration. When an administrator subsequently opens the AdBlock Fast status page during routine monitoring, the stored payload silently executes in their browser under the LuCI origin, potentially exfiltrating the admin session token or issuing authenticated API requests to modify firewall rules, create new admin accounts, or exfiltrate network topology data. No public proof-of-concept has been identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 02, 2026
Stored cross-site scripting in luci-app-adblock-fast before 1.2.4-4 allows a lower-privileged LuCI user to inject malicious JavaScript into the blocklist name field, which executes in an administrator's browser under the LuCI origin when the AdBlock Fast status page is viewed. Because the payload runs within the LuCI same-origin context, a successful attack could enable session hijacking, unauthorized router reconfiguration, or privilege escalation from low-privileged user to effective admin control. No public exploit is identified at time of analysis; a vendor patch is available via the GitHub Security Advisory GHSA-q335-4c83-c88h.
RemediationAI
Upgrade luci-app-adblock-fast to version 1.2.4-4 or later, which contains the vendor-confirmed fix per the GitHub Security Advisory at https://github.com/openwrt/luci/security/advisories/GHSA-q335-4c83-c88h. On OpenWrt devices, this can typically be performed via opkg: run 'opkg update && opkg upgrade luci-app-adblock-fast'. If immediate patching is not possible, restrict LuCI access to the minimum required accounts - remove or disable any lower-privileged user accounts that do not require access to the blocklist configuration, since the attack requires an authenticated low-privileged session. As an additional compensating control, restrict the LuCI interface to trusted LAN segments or VPN-only access to limit the pool of potential attackers. Before patching, audit existing blocklist name entries for suspicious script tags or encoded payloads and remove any anomalies.
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 standard web administration interface for OpenWrt-based routers and embedded Linux devices. The affected component, luci-app-adblock-fast, is a LuCI plugin managing ad-blocking rules via blocklist configurations. CWE-79 (Improper Neutralization of Input During Web Page Generation) describes the root cause: user-supplied input in the blocklist name field is stored without sanitization and later rendered into the admin status page without output encoding, allowing active HTML and JavaScript injection. The CPE cpe:2.3:a:openwrt:luci:*:*:*:*:*:*:*:* confirms the vulnerability spans all LuCI versions shipping luci-app-adblock-fast prior to 1.2.4-4. The attack surface is the LuCI HTTP interface, typically exposed on the router's LAN-side network.
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:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N
Network-accessible stored XSS requires low-privileged account (PR:L) and admin page visit (UI:R); scope changes (S:C) because payload executes in admin browser context with LuCI origin access.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
1DescriptionCVE.org
luci-app-adblock-fast before 1.2.4-4 contains a stored cross-site scripting vulnerability in the blocklist name field that allows lower-privileged users to inject active HTML. When an administrator views the AdBlock Fast status page, the injected payload executes in the administrator's browser under the LuCI origin.
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.
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
Stored cross-site scripting in OpenWrt's luci-app-upnp lets an unauthenticated LAN client persist a JavaScript payload t
EUVD-2026-51993
GHSA-vh6j-2jxw-848c
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB