luci-app-banip
CVE-2026-62184
HIGH
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach exposed logged service
-
DeliverySubmit login with spoofed IP in username
-
Exploitawk parser extracts forged first IP
-
ExecutionbanIP adds victim IP to ban set
-
ImpactLegitimate target blocked while attacker evades ban
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding for downstream
|
| Exploitation Conditions | Exploitation requires that banIP's log-monitoring feature is enabled with a Log Term matching a log source that echoes an attacker-controlled free-form field (classically a failed-login username, but any monitored line reflecting unvalidated input works), and that the monitored service is reachable by the attacker to generate such log entries. No authentication and no user interaction are needed (PR:N/UI:N), and configurations that monitor auth/login logs are exploitable out of the box. The key limiting factors are deployment-specific: the device must run vulnerable luci-app-banip (<=1.8.9) with log monitoring active on a log format where the forged IP precedes the genuine source IP on the line, and impact is limited to availability/denial-of-blocking - it cannot yield code execution or data disclosure. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H, base 8.7 High) is internally consistent with the description: remote, low-complexity, unauthenticated, no user interaction, and impact confined to availability (VA:H) with no confidentiality or integrity loss. This is a logic/abuse-of-function flaw rather than code execution - the attacker cannot run code or read data, but can cause denial of service by inducing banIP to block legitimate third parties (self-inflicted blocking of trusted IPs or ranges) while evading blocking themselves, defeating the control's purpose. No EPSS score, KEV listing, POC, or SSVC decision data was provided, so probabilistic exploitation signals are unavailable and should not be presented as if favorable or unfavorable; realistic priority is driven by the CVSS profile plus the fact that exploitation only requires sending log-generating traffic with a spoofed IP embedded. The impact is bounded: it degrades a defensive control and can cause targeted DoS of specific victims, but does not compromise the host itself. |
| Exploit ScenarioDerived | An attacker repeatedly hits an internet-facing service on the OpenWrt device (for example SSH or a web login) using a username crafted to contain a spoofed IPv4 string such as the address of a legitimate partner or upstream service. banIP's log monitor extracts that injected address from the failed-login log line and adds it to the firewall ban set, cutting off the innocent victim while the attacker's real source IP continues unblocked. No public POC is identified, but the technique is straightforward given the low attack complexity and lack of authentication. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 13, 2026
Ban-list poisoning in OpenWrt's luci-app-banip (banIP) before 1.8.10 lets an unauthenticated remote attacker steer the automated IP-blocking engine at an arbitrary victim. Because the awk-based log monitor grabs the first IPv4 address it finds on a log line regardless of field position, an attacker can embed a spoofed IP inside an attacker-controlled field such as a login username; banIP then bans that injected address while the real attacker's source IP is never blocked. Reported by VulnCheck with a vendor patch available; no public exploit code or active exploitation is identified at time of analysis.
RemediationAI
Upgrade luci-app-banip to the vendor-released patch version 1.8.10 or later (fix commit d9bbc372e29618a8807b693a1ccf6d0e42cd196c; advisory GHSA-r6hx-4f83-vp8m). The fix changes the parser to use the last IP per line and adds a 'first:' prefix option on Log Terms for source-first log formats such as nginx, so after upgrading review each configured Log Term and add the 'first:' prefix where the genuine source IP appears first on the line to preserve correct blocking. If immediate patching is not possible, tighten the 'Log Terms' regular expressions so they anchor on the specific field that carries the true source IP rather than matching any line containing an IPv4 token, and stop monitoring log sources that echo unvalidated attacker-controlled free-form fields like usernames or HTTP headers - the trade-off is reduced detection coverage and more manual tuning. As a further compensating control, do not rely solely on banIP auto-blocking for high-value hosts, so a poisoned ban entry cannot lock out legitimate administrators or partners.
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
banIP is an OpenWrt/LuCI application that monitors the system log for suspicious activity and dynamically populates nftables/firewall ban sets to block offending source IPs. Detection relies on user-configurable 'Log Terms' regular expressions plus an awk routine that extracts an IPv4 address from each matching log line. The root cause is CWE-116 (Improper Encoding or Escaping of Output / improper neutralization of log input): the parser selects the first IPv4 token on the line rather than the field that actually represents the connection source, so any log line that echoes attacker-supplied text (e.g. a failed-login username, HTTP header, or other free-form field) can carry a forged address into the ban decision. The affected code path is the log-monitoring logic surfaced in overview.js and the underlying banIP parser; CPE data identifies the OpenWrt luci package (cpe:2.3:a:openwrt:luci) 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:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Remotely reachable log input with no auth or interaction (AV:N/AC:L/PR:N/UI:N); impact is denial of the blocking control affecting availability only (A:H), with no confidentiality or integrity effect.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
luci-app-banip contains a log parsing vulnerability where the awk-based parser extracts the first IPv4 address from log lines regardless of field position, allowing attackers to inject arbitrary IPs via attacker-controlled fields like usernames. An unauthenticated remote attacker can inject an IP address into the login username field, causing banIP to block the wrong target while the real attacker remains unblocked.
Executive ViewAI
OpenWrt deployments using banIP versions prior to 1.8.10 are vulnerable to control manipulation attacks in which external actors inject spoofed IP addresses to evade the automated blocking engine, allowing them persistent access while legitimate threats are blocked. This compromises the integrity of IP-based threat enforcement and creates measurable risk for organizations relying on these controls. Immediate patching to version 1.8.10 or later is required to restore blocking integrity.
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
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
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
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
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB