Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessConnect to captive portal WiFi unauthenticated
-
DeliverySend crafted HTTP GET to /opennds_preauth/
-
ExploitInject shell metacharacters in fas parameter
-
Executionlibopennds.sh passes parameter to OS shell unsanitized
-
PersistExecute arbitrary commands as openNDS process
-
ImpactCompromise OpenWrt router
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK
2 techniques across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The attacker must be on the same adjacent network segment as the captive portal - specifically, connected to the WiFi network managed by openNDS but not yet authenticated through the portal. The |
| Impact | The CVSS vector (AV:A/AC:L/PR:N/UI:N) accurately characterizes the realistic threat: an attacker must be on the adjacent network segment - connected to the captive portal WiFi before authentication - but requires no credentials and faces no complexity barrier. This adjacency requirement meaningfully limits the attacker pool compared to a fully internet-facing flaw, though any guest user can exploit it trivially. The High confidentiality and integrity impact scores are well-founded given that OS command execution on an OpenWrt router can compromise routing tables, credentials, and downstream network traffic. Even a mid-sized municipal IT team in rybnik managing community WiFi should treat this as an urgent patch priority, since the pre-auth endpoint is by design exposed to all connecting clients. EPSS data was not provided, making probabilistic exploitation forecasting unavailable; however, the simplicity of the attack (low complexity, no auth, publicly visible commit diff exposing the vulnerability class) suggests exploitation is accessible to moderately skilled actors. No CISA KEV listing was found, and no standalone POC has been identified, but the commit diff itself serves as a technical roadmap for exploit development. |
| Exploit ScenarioDerived | An attacker connects to a WiFi network managed by a vulnerable openNDS captive portal - no credentials required at this stage since this is the pre-authentication phase. The attacker sends an HTTP request to |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 28, 2026
Unauthenticated OS command injection in openNDS before 11.0.0 allows any adjacent-network attacker - such as an unprivileged user connected to a captive portal WiFi - to execute arbitrary shell commands on the host router by supplying a crafted fas query parameter to the /opennds_preauth/ endpoint. The vulnerability originates in libopennds.sh, which processes the parameter without sanitizing shell metacharacters before passing it to OS-level commands. The fix, published in commit 8c03750, introduces strict base64-character allowlist validation that rejects any query string containing characters outside A-Za-z0-9+/=. No public exploit code or CISA KEV listing has been identified at time of analysis.
RemediationAI
The primary remediation is to upgrade openNDS to version 11.0.0 or later, which incorporates the fix from commit 8c03750d9a17d601fa7bd03ae7cde20c7c8d1252. The patch introduces a base64 character allowlist check that rejects any fas query string containing characters outside A-Za-z0-9+/= before the string reaches shell processing. If immediate upgrade is not possible, a compensating control is to firewall the /opennds_preauth/ endpoint so it is not reachable from untrusted client segments - note this will disrupt the captive portal authentication flow for legitimate users. Alternatively, disabling the FAS pre-authentication feature entirely removes the attack surface but eliminates the forward authentication capability. Operators should also review OpenWrt firewall rules to ensure the captive portal management interface is not exposed beyond the intended client VLAN. The fix commit is available at https://github.com/openNDS/openNDS/commit/8c03750d9a17d601fa7bd03ae7cde20c7c8d1252; a formally tagged release version should be confirmed in the openNDS release channel before deployment.
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
openNDS is an open-source captive portal manager designed for OpenWrt-based routers, widely used to gate guest WiFi access in hospitality, community networks, and small ISP deployments. It implements a Forward Authentication Service (FAS) pre-authentication flow via the /opennds_preauth/ HTTP endpoint. The vulnerable code path in libopennds.sh accepts the fas query parameter and passes it - unvalidated - into shell constructs, producing a classic CWE-78 (Improper Neutralization of Special Elements used in an OS Command) condition. The affected CPE is cpe:2.3:a:opennds:opennds:*:*:*:*:*:*:*:*, covering all versions prior to 11.0.0. Because libopennds.sh runs as part of the router's OpenWrt shell environment, successful injection likely yields execution as root or the web server's privileged user.
Know when Opennds 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
AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L
Adjacent vector confirmed by captive portal architecture; no auth or complexity required; OS command execution yields full C/I impact with minor availability effect.
Primary rating from Vendor (mitre).
CVSS VectorVendor: mitre
Lifecycle Timeline
2DescriptionCVE.org
openNDS before 11.0.0 is susceptible to unauthenticated OS command execution via shell command injection through the fas query parameter on the /opennds_preauth/ endpoint because of libopennds.sh.
Executive ViewAI
OpenNDS captive portal systems versions prior to 11.0.0 contain an unauthenticated command injection vulnerability exploitable by any guest WiFi user, enabling arbitrary command execution on the network router with full system privileges. Organizations deploying openNDS for wireless authentication face complete compromise of network infrastructure with no vendor patch currently released.
Implement network segmentation isolating guest WiFi from internal systems using VLANs or separate network appliances; deploy intrusion detection rules monitoring /opennds_preauth/ for anomalous fas parameter values; restrict administrative access to the OpenNDS appliance; maintain detailed logging of system command execution for forensics. Apply vendor patch to openNDS 11.0.0 or later immediately upon release.
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
OS command injection occurs when an application passes unsanitized user input directly into system shell commands.
Related Vulnerabilities in openNDS Memory and Command Injection Flaws
View all 4An issue was discovered in the captive portal in OpenNDS before version 10.1.3. Rated critical severity (CVSS 9.8), this
An issue was discovered in OpenNDS Captive Portal before version 10.1.2. Rated critical severity (CVSS 9.8), this vulner
openNDS 10.2.0 is vulnerable to Use-After-Free via /openNDS/src/auth.c. Rated medium severity (CVSS 5.5), this vulnerabi
An issue was discovered in the captive portal in OpenNDS before version 10.1.3. Rated high severity (CVSS 7.5), this vul
An issue was discovered in OpenNDS Captive Portal before version 10.1.2. Rated high severity (CVSS 7.5), this vulnerabil
An issue was discovered in OpenNDS Captive Portal before version 10.1.2. Rated high severity (CVSS 7.5), this vulnerabil
An issue was discovered in OpenNDS Captive Portal before version 10.1.2. Rated high severity (CVSS 7.5), this vulnerabil
An issue was discovered in OpenNDS Captive Portal before 10.1.2. Rated high severity (CVSS 7.5), this vulnerability is r
An issue was discovered in OpenNDS Captive Portal before version 10.1.2. Rated medium severity (CVSS 6.5), this vulnerab
EUVD-2026-67360
GHSA-hw32-3v67-92pf
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB