Skip to main content

openNDS EUVDEUVD-2026-67360

| CVE-2026-38820 HIGH
OS Command Injection (CWE-78)
2026-08-28 mitre GHSA-hw32-3v67-92pf
8.3
CVSS 3.1 · Vendor: mitre
View

Attack ChainAIDerived

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

  1. Access
    Connect to captive portal WiFi unauthenticated
  2. Delivery
    Send crafted HTTP GET to /opennds_preauth/
  3. Exploit
    Inject shell metacharacters in fas parameter
  4. Execution
    libopennds.sh passes parameter to OS shell unsanitized
  5. Persist
    Execute arbitrary commands as openNDS process
  6. Impact
    Compromise 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 /opennds_preauth/ endpoint must be reachable by connecting clients, which is the default and intended configuration for captive portal operation. The Forward Authentication Service (FAS) feature must be active (the vulnerable code path is in libopennds.sh, which serves the FAS pre-auth flow). No credentials or prior authentication are required (PR:N per CVSS). Exploitation is limited to adjacent-network attackers (AV:A) - internet-based remote exploitation is not possible without first gaining WiFi connectivity. The affected product versions are all openNDS releases prior to 11.0.0.

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 /opennds_preauth/ with a crafted fas parameter containing shell metacharacters (e.g., semicolons or backticks wrapping arbitrary commands), which libopennds.sh passes directly to the OS shell. The injected command executes with the privileges of the openNDS process on the underlying OpenWrt router, potentially enabling full device compromise including persistent backdoor installation or network traffic interception.

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

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

Alert me

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

openNDS 0 <11.0.0

Affected Packages

euvd opennds fix: 11.0.0

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

Vendor (mitre) PRIMARY 8.3 HIGH
AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L
vuln.today AI 8.3 HIGH

Adjacent vector confirmed by captive portal architecture; no auth or complexity required; OS command execution yields full C/I impact with minor availability effect.

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

Primary rating from Vendor (mitre).

CVSS VectorVendor: mitre

Attack Vector
Adjacent
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
Low

Lifecycle Timeline

2
Patch available
Aug 28, 2026 - 04:16 EUVD
CVE Published
Aug 28, 2026 - 00:07 cve.org
HIGH 8.3

DescriptionCVE.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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
1.7%
Top 24% exploitable
Prevalence
Low
niche OpenWrt captive portal, limited to specific WiFi deployments
Social Media
1
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 1.7%
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
Scheduled
Exploitation
None
System Exposure· derived
Controlled
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

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

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 4

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