Skip to main content

luci-app-banip CVE-2026-62184

HIGH
Improper Encoding or Escaping of Output (CWE-116)
2026-07-13 VulnCheck
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Reach exposed logged service
  2. Delivery
    Submit login with spoofed IP in username
  3. Exploit
    awk parser extracts forged first IP
  4. Execution
    banIP adds victim IP to ban set
  5. Impact
    Legitimate 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

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

Alert me

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

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

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.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

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

Why It Matters

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.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 64% exploitable
Prevalence
Low
optional OpenWrt LuCI security package, niche SOHO/embedded footprint
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

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.4%
Patch available Yes
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
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

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

Code Injection CRITICAL

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

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-61875 HIGH
8.7 Jul 12

Stored cross-site scripting in OpenWrt's luci-app-upnp lets an unauthenticated LAN client persist a JavaScript payload t

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