/

CVE-2026-113802

Severity:

CRITICAL RISK

(9.8)

OS Command Injection (CWE-78) in Wavlink WL-WN530BE1-A

CVE-2026-113802

Deferred

Vulnerability type

Category:

OS Command Injection

CWE:

CWE-78

Impact:

Unauthenticated Remote Code Execution

Severity:

CRITICAL RISK

(9.8)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

A critical OS command injection vulnerability in Wavlink WL-WN530BE1-A firmware allows unauthenticated remote attackers to execute arbitrary operating-system commands with root privileges. The issue becomes risky when the device accepts attacker-controlled VPN file parameters and trusts a spoofable local-origin indicator to bypass authentication.

A critical OS command injection vulnerability in Wavlink WL-WN530BE1-A firmware allows unauthenticated remote attackers to execute arbitrary operating-system commands with root privileges. The issue becomes risky when the device accepts attacker-controlled VPN file parameters and trusts a spoofable local-origin indicator to bypass authentication.

Affected context

The vulnerability affects Wavlink WL-WN530BE1-A firmware through M30BE1_V251117, specifically the ioos binary and its handling of OpenVPN file deletion requests through protocol.csp. Risk is present where the management interface is reachable by an attacker and request-origin or authentication controls do not reliably distinguish trusted local requests from external traffic.

The vulnerability affects Wavlink WL-WN530BE1-A firmware through M30BE1_V251117, specifically the ioos binary and its handling of OpenVPN file deletion requests through protocol.csp. Risk is present where the management interface is reachable by an attacker and request-origin or authentication controls do not reliably distinguish trusted local requests from external traffic.

Exploit preconditions

  • Attack surface: The device's web or management interface handling /protocol.csp requests
  • Required access: Network reachability to the affected service; valid credentials are not necessarily required
  • Trigger point: Processing of an OpenVPN file request with the deletion operation
  • Why exploitation is possible: The file_id parameter is passed to popen() without adequate sanitization, while a forged local-origin header may bypass authentication checks
  • Execution context: Commands may run with the privileges of the affected service, reportedly including root
  • Attack surface: The device's web or management interface handling /protocol.csp requests
  • Required access: Network reachability to the affected service; valid credentials are not necessarily required
  • Trigger point: Processing of an OpenVPN file request with the deletion operation
  • Why exploitation is possible: The file_id parameter is passed to popen() without adequate sanitization, while a forged local-origin header may bypass authentication checks
  • Execution context: Commands may run with the privileges of the affected service, reportedly including root

Why this happens

The underlying flaw is a failure to treat request parameters as untrusted data before incorporating them into an operating-system command. Passing the unsanitized file_id value to popen() creates an OS command injection condition, mapping to CWE-78: Improper Neutralization of Special Elements used in an OS Command. The associated authentication weakness also allows external input to reach the vulnerable code path without a reliable authorization decision.

The underlying flaw is a failure to treat request parameters as untrusted data before incorporating them into an operating-system command. Passing the unsanitized file_id value to popen() creates an OS command injection condition, mapping to CWE-78: Improper Neutralization of Special Elements used in an OS Command. The associated authentication weakness also allows external input to reach the vulnerable code path without a reliable authorization decision.

Potential impact

  • An attacker may execute arbitrary commands on the router
  • Device configuration and stored VPN information could be altered or removed
  • Network traffic could be monitored, redirected, or disrupted
  • The device could be used to attack other systems on the local network
  • Persistent compromise or firmware-level tampering could occur
  • An attacker may execute arbitrary commands on the router
  • Device configuration and stored VPN information could be altered or removed
  • Network traffic could be monitored, redirected, or disrupted
  • The device could be used to attack other systems on the local network
  • Persistent compromise or firmware-level tampering could occur

General mitigation guidance

Mitigation generally focuses on eliminating shell interpretation and strengthening trust boundaries around administrative interfaces.

Common defensive patterns include:

  • Replacing shell-based command construction with fixed-argument APIs and allowlisted operations
  • Validating file_id against a strict identifier format and resolving files within a controlled directory
  • Treating all client-supplied headers as untrusted and enforcing authentication and authorization independently of origin claims
  • Running management services with the minimum privileges needed rather than root
  • Restricting administrative interfaces to trusted management networks and applying network-level access controls
  • Limiting the device's ability to initiate connections to other sensitive systems

Mitigation generally focuses on eliminating shell interpretation and strengthening trust boundaries around administrative interfaces.

Common defensive patterns include:

  • Replacing shell-based command construction with fixed-argument APIs and allowlisted operations
  • Validating file_id against a strict identifier format and resolving files within a controlled directory
  • Treating all client-supplied headers as untrusted and enforcing authentication and authorization independently of origin claims
  • Running management services with the minimum privileges needed rather than root
  • Restricting administrative interfaces to trusted management networks and applying network-level access controls
  • Limiting the device's ability to initiate connections to other sensitive systems

How teams detect issues like this

Organizations can look for this class of issue through:

  • Static analysis rules identifying popen(), shell execution, or command concatenation involving request parameters
  • Code review checks for unsanitized CGI, query-string, header, and form values reaching process-spawning functions
  • Tests that verify authentication decisions cannot be changed by client-controlled origin headers
  • Monitoring for unexpected management requests, VPN file changes, process launches, and outbound connections from the router
  • Policy enforcement that blocks shell invocation when a structured, non-shell API is available

Automated security scanning and code review tools may help identify command-construction and authorization-boundary violations.

Organizations can look for this class of issue through:

  • Static analysis rules identifying popen(), shell execution, or command concatenation involving request parameters
  • Code review checks for unsanitized CGI, query-string, header, and form values reaching process-spawning functions
  • Tests that verify authentication decisions cannot be changed by client-controlled origin headers
  • Monitoring for unexpected management requests, VPN file changes, process launches, and outbound connections from the router
  • Policy enforcement that blocks shell invocation when a structured, non-shell API is available

Automated security scanning and code review tools may help identify command-construction and authorization-boundary violations.

Sources

SourceLink
github.comgithub.com/F-yyjy/cve/blob/main/WN530BE1(en).md
vulncheck.comvulncheck.com/advisories/wavlink-wl-wn530be1-a-unauthenticated-os-command-injection-in-ioos-protocol-csp-ovpn-file-handler

Frequently asked

questions

Yes. The described issue can be reached remotely through the device's management interface, and exploitation does not require normal user authentication when the authentication bypass condition is met.

The attacker generally needs network reachability to the affected service. Administrative credentials are not necessarily required because the request-handling logic may trust a forged local-origin indicator.

Remove shell interpretation from the request-processing path, validate identifiers with strict allowlists, and enforce authentication and authorization using server-side security decisions.

Apply least privilege, isolate management interfaces, review all user-controlled values that reach process execution APIs, and add automated checks for command injection and client-controlled authentication signals.

Yes. The described issue can be reached remotely through the device's management interface, and exploitation does not require normal user authentication when the authentication bypass condition is met.

The attacker generally needs network reachability to the affected service. Administrative credentials are not necessarily required because the request-handling logic may trust a forged local-origin indicator.

Remove shell interpretation from the request-processing path, validate identifiers with strict allowlists, and enforce authentication and authorization using server-side security decisions.

Apply least privilege, isolate management interfaces, review all user-controlled values that reach process execution APIs, and add automated checks for command injection and client-controlled authentication signals.

Find out what's already
exploitable in your codebase.