Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain low-privilege RaspAP web login
-
DeliverySend crafted request to del_ovpncfg.php
-
ExploitInject payload via cfg_id past escapeshellcmd
-
ExecutionExecute OS command as webserver user
-
ImpactModify config or disrupt device
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 | Requires an authenticated low-privilege session (PR:L) on the RaspAP web GUI and that the OpenVPN configuration feature exposing ajax/openvpn/del_ovpncfg.php is reachable. The attacker manipulates the cfg_id parameter, whose value is passed through escapeshellcmd() - an incomplete filter that still permits argument/command injection. Limiting factors: authentication is mandatory (no unauthenticated path), exploitation is constrained by escapeshellcmd so it is argument injection rather than unrestricted RCE, and it affects RaspAP raspap-webgui versions up to and including 3.5.5. No user interaction is required. |
| Impact | This is a genuine but moderate-priority command-injection flaw, not a high-CVSS-but-low-real-risk artifact. The CVSS 4.0 vector (AV:N/AC:L/PR:L/UI:N) confirms remote, low-complexity, no-interaction reach, but PR:L means an attacker must already hold an authenticated low-privilege session on the RaspAP web UI - a meaningful barrier that keeps the vendor score at 5.3 despite the CWE-78 classification. Impact is capped at VI:L/VA:L with VC:N because the code applies escapeshellcmd(), which blunts full arbitrary command execution down to constrained argument injection rather than clean shell takeover. Exploitation signals are mixed but consistent: a public exploit exists (VulDB gist, E:P), yet there is NO EPSS score and NO CISA KEV listing, so there is no evidence of widespread or automated exploitation - publicly available exploit code exists but that is distinct from active exploitation. The single-source origin (VulDB only, vendor unresponsive) and absence of an upstream patch mean version/fix data cannot be corroborated. Net: real and reproducible, but gated by authentication and partial mitigation, so LOW-to-MEDIUM operational priority. |
| Exploit ScenarioDerived | An attacker with valid low-privilege access to the RaspAP web interface (or who has hijacked such a session) sends a crafted request to ajax/openvpn/del_ovpncfg.php with a malicious cfg_id value that slips past the incomplete escapeshellcmd() filtering. This injects attacker-controlled arguments/commands executed by the underlying OS as the web server user, potentially altering system behavior or disrupting the device. A public proof-of-concept exists (VulDB-linked gist), lowering the skill needed to reproduce it. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 29, 2026
OS command injection in RaspAP's raspap-webgui (raspap-webgui through version 3.5.5) lets an attacker who already holds a low-privileged authenticated session manipulate the cfg_id parameter of ajax/openvpn/del_ovpncfg.php to inject extra arguments/commands through the incomplete escapeshellcmd() filter. The flaw is remote but requires a valid session (CVSS 4.0 AV:N/AC:L/PR:L/UI:N, assessed as CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L), and because escapeshellcmd only neutralizes shell metacharacters rather than argument boundaries, the realistic outcome is constrained argument injection affecting integrity and availability rather than unrestricted remote code execution. Publicly available exploit code exists (a referenced GitHub gist), but there is no indication of confirmed active exploitation (CISA KEV); the vendor was contacted and did not respond, and no vendor-released patch has been identified at time of analysis.
RemediationAI
No vendor-released patch has been identified at time of analysis: RaspAP was contacted about the disclosure and did not respond, so there is currently no confirmed fixed version or vendor advisory to upgrade to (references are limited to the VulDB entries and the public gist). Until an upstream fix lands, the highest-value compensating control is to eliminate or tightly restrict reachability of the affected endpoint - block or remove access to ajax/openvpn/del_ovpncfg.php from untrusted networks and confine the RaspAP web GUI to a dedicated management VLAN or loopback-only reverse proxy, accepting that this breaks the OpenVPN config deletion workflow in the UI. Because exploitation requires an authenticated session, strengthen access control: enforce unique strong credentials for every GUI account, avoid sharing admin/operator accounts, and disable unused accounts so that low-privileged users cannot reach the OpenVPN handler; the trade-off is added administrative overhead and potential loss of legitimate delegated access. If the code can be patched locally, replace escapeshellcmd() with escapeshellarg() plus strict validation of cfg_id (for example, allow only alphanumeric identifiers matching a known-config allowlist), which removes the argument-injection primitive without changing functionality - this requires maintaining a local fork until upstream ships a fix. Finally, run the RaspAP service under a least-privileged OS account with no sudo rights so that any injected arguments cannot escalate to broader system impact, noting that this may break features that legitimately need elevated privileges.
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
RaspAP is a PHP-based web management GUI for Raspberry Pi-hosted wireless access points, and the affected component is its OpenVPN configuration handler. The vulnerable code path is the function wrappers around escapeshellcmd() in ajax/openvpn/del_ovpncfg.php, which builds a shell command using the user-supplied cfg_id parameter. This is a classic CWE-78 (Improper Neutralization of Special Elements used in an OS Command) instance, but with an important nuance: PHP's escapeshellcmd() escapes shell metacharacters (such as ;, |, &, $) while leaving spaces and option prefixes intact, so it does not prevent argument injection into the invoked binary (for example passing additional command-line flags to openvpn or a related utility). That incomplete-filter behavior is why the disclosed exploitation is argument injection rather than a straightforward full command chain, and why the independent assessment rates confidentiality impact as Low while integrity and availability are Low as well. The affected product is identified by CPE cpe:2.3:a:raspap:raspap-webgui:*:*:*:*:*:*:*:* across the version range up to and including 3.5.5.
Know when Raspap 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:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
Remote, low-complexity, authenticated low-priv (PR:L) reaches the endpoint; escapeshellcmd constrains injection to partial confidentiality/integrity/availability impact rather than full RCE.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
3DescriptionCVE.org
A vulnerability has been found in RaspAP raspap-webgui up to 3.5.5. Affected by this vulnerability is the function escapeshellcmd of the file ajax/openvpn/del_ovpncfg.php of the component OpenVPN Configuration Handler. Such manipulation of the argument cfg_id leads to os command injection. The attack can be launched remotely. The exploit has been disclosed to the public and may be used. The vendor was contacted early about this disclosure but did not respond in any way.
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 RaspAP raspap-webgui Command Injection and Privilege Escalation
View all 3A vulnerability exists in RaspAP 2.6 to 2.6.5 in the "iface" GET parameter in /ajax/networking/get_netcfg.php, when the
Command injection vulnerability in RaspAP raspap-webgui 2.8.8 and earlier allows remote attackers to run arbitrary comma
raspap-webgui in RaspAP 2.6.6 allows attackers to execute commands as root because of the insecure sudoers permissions.
includes/configure_client.php in RaspAP 2.6.6 allows attackers to execute commands via command injection. Rated high sev
Multiple vulnerabilities exist in RaspAP 2.3 to 2.6.5 in the "interface", "ssid" and "wpa_passphrase" POST parameters in
Multiple privilege escalation vulnerabilities in RaspAP 1.5 to 2.6.5 could allow an authenticated remote attacker to inj
An issue was discovered in includes/webconsole.php in RaspAP 2.5. Rated high severity (CVSS 8.8), this vulnerability is
RaspAP (aka raspap-webgui) through 3.0.9 allows remote attackers to cause a persistent denial of service (bricking) via
A vulnerability was found in RaspAP raspap-webgui 3.0.9 and classified as critical.php of the component HTTP POST Reques
RaspAP (aka raspap-webgui) through 3.0.9 allows remote attackers to read the /etc/passwd file via a crafted request. Rat
RaspAP raspap-webgui 3.3.1 is vulnerable to Directory Traversal in ajax/networking/get_wgkey.php. An authenticated attac
EUVD-2026-88603
GHSA-w675-v8gw-j298
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB