/

CVE-2026-110536

Severity:

CRITICAL RISK

(10.0)

OS Command Injection (CWE-78) in D-Link DIR-868L HNAP

CVE-2026-110536

Deferred

Vulnerability type

Category:

OS Command Injection

CWE:

CWE-77, CWE-78

Impact:

Remote Code Execution

Severity:

CRITICAL RISK

(10.0)

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 command injection vulnerability in the D-Link DIR-868L HNAP CGI Handler allows attacker-controlled SOAPACTION input to influence system command execution. Because the affected handler may be reachable remotely, an attacker who can access the service could potentially execute operating system commands with the privileges of the web service.

A command injection vulnerability in the D-Link DIR-868L HNAP CGI Handler allows attacker-controlled SOAPACTION input to influence system command execution. Because the affected handler may be reachable remotely, an attacker who can access the service could potentially execute operating system commands with the privileges of the web service.

Affected context

The vulnerability occurs in the HNAP CGI Handler exposed through the /htdocs/cgibin component of D-Link DIR-868L firmware 2.01b05. It becomes risky when the handler accepts externally controlled SOAPACTION data and passes that data into a system-command execution path without sufficiently separating data from commands. The practical exposure depends on whether the HNAP interface is reachable from an attacker-controlled network.

The vulnerability occurs in the HNAP CGI Handler exposed through the /htdocs/cgibin component of D-Link DIR-868L firmware 2.01b05. It becomes risky when the handler accepts externally controlled SOAPACTION data and passes that data into a system-command execution path without sufficiently separating data from commands. The practical exposure depends on whether the HNAP interface is reachable from an attacker-controlled network.

Exploit preconditions

  • Attack surface: The HNAP CGI Handler in /htdocs/cgibin
  • Required access: Network reachability to the affected HNAP service; the description does not establish a specific authentication requirement
  • Trigger point: Processing of the SOAPACTION argument by the handler's system function
  • Why exploitation is possible: Attacker-controlled input can reach an operating-system command execution context without adequate command and argument separation
  • Attack surface: The HNAP CGI Handler in /htdocs/cgibin
  • Required access: Network reachability to the affected HNAP service; the description does not establish a specific authentication requirement
  • Trigger point: Processing of the SOAPACTION argument by the handler's system function
  • Why exploitation is possible: Attacker-controlled input can reach an operating-system command execution context without adequate command and argument separation

Why this happens

The underlying bug is improper neutralization of externally supplied input before it is incorporated into an operating-system command. This is consistent with CWE-78, OS Command Injection, where data is interpreted by a command processor as control syntax rather than being treated solely as a value. CWE-77 is also relevant because the broader weakness involves constructing or invoking commands from insufficiently constrained input. The issue is distinct from ordinary input validation failure because the affected value can alter command behavior.

The underlying bug is improper neutralization of externally supplied input before it is incorporated into an operating-system command. This is consistent with CWE-78, OS Command Injection, where data is interpreted by a command processor as control syntax rather than being treated solely as a value. CWE-77 is also relevant because the broader weakness involves constructing or invoking commands from insufficiently constrained input. The issue is distinct from ordinary input validation failure because the affected value can alter command behavior.

Potential impact

  • An attacker may execute arbitrary operating-system commands
  • The device could be fully compromised with the privileges of the affected service
  • Configuration, credentials, or network information could be exposed
  • Device settings or firmware-related data could be altered
  • The router could be used for lateral movement, traffic manipulation, or additional attacks
  • An attacker may execute arbitrary operating-system commands
  • The device could be fully compromised with the privileges of the affected service
  • Configuration, credentials, or network information could be exposed
  • Device settings or firmware-related data could be altered
  • The router could be used for lateral movement, traffic manipulation, or additional attacks

General mitigation guidance

Mitigation generally focuses on eliminating shell interpretation and

reducing trust in request parameters.

Common defensive patterns include:

  • Prefer fixed internal operations and safe APIs over shell-based command execution
  • Pass commands and arguments using structured argument interfaces rather than concatenated command strings
  • Apply allowlist validation for action names and other protocol fields
  • Reject unexpected encodings, delimiters, control characters, and excess input
  • Keep management interfaces restricted to trusted networks and enforce appropriate authentication
  • Run CGI handlers with the minimum operating-system privileges and filesystem access
  • Use process isolation and network segmentation to limit impact if a service is compromised
  • Treat publicly reachable administrative interfaces as high-risk and monitor their exposure

Mitigation generally focuses on eliminating shell interpretation and

reducing trust in request parameters.

Common defensive patterns include:

  • Prefer fixed internal operations and safe APIs over shell-based command execution
  • Pass commands and arguments using structured argument interfaces rather than concatenated command strings
  • Apply allowlist validation for action names and other protocol fields
  • Reject unexpected encodings, delimiters, control characters, and excess input
  • Keep management interfaces restricted to trusted networks and enforce appropriate authentication
  • Run CGI handlers with the minimum operating-system privileges and filesystem access
  • Use process isolation and network segmentation to limit impact if a service is compromised
  • Treat publicly reachable administrative interfaces as high-risk and monitor their exposure

How teams detect issues like this

Detection approaches may include:

  • Static analysis rules identifying system, shell, or process-spawning APIs receiving request parameters
  • Code review searches for string concatenation or formatting used to build command lines
  • Review of HNAP parameter handling, especially SOAPACTION validation and dispatch logic
  • Dynamic testing with benign boundary and metacharacter inputs in isolated environments
  • Web and device logs showing unusual HNAP requests, command-related errors, or unexpected child processes
  • Runtime policy enforcement that restricts CGI processes from spawning shells or unauthorized executables
  • Automated security review tools that flag command construction from externally controlled data

Detection approaches may include:

  • Static analysis rules identifying system, shell, or process-spawning APIs receiving request parameters
  • Code review searches for string concatenation or formatting used to build command lines
  • Review of HNAP parameter handling, especially SOAPACTION validation and dispatch logic
  • Dynamic testing with benign boundary and metacharacter inputs in isolated environments
  • Web and device logs showing unusual HNAP requests, command-related errors, or unexpected child processes
  • Runtime policy enforcement that restricts CGI processes from spawning shells or unauthorized executables
  • Automated security review tools that flag command construction from externally controlled data

Sources

SourceLink
github.comgithub.com/Walnut1337/Command-Injection-DIR-868L/blob/main/ADVISORY.md
github.comgithub.com/Walnut1337/Command-Injection-DIR-868L/tree/main/poc
vuldb.comvuldb.com/cve/CVE-2026-110536
vuldb.comvuldb.com/submit/1003692
vuldb.comvuldb.com/submit/1003693
vuldb.comvuldb.com/vuln/419825
vuldb.comvuldb.com/vuln/419825/cti
dlink.comdlink.com/

Frequently asked

questions

The vulnerability is described as remotely exploitable because the affected

HNAP CGI Handler can be reached over a network. Actual exposure depends on

interface binding, routing, authentication, and other deployment controls.

An attacker needs network access to the affected HNAP service and a way to

submit or influence the SOAPACTION argument. The available information does

not confirm whether authentication is required.

Avoid passing request data into shell commands. Use fixed operations,

structured process APIs, strict allowlists, and least-privilege service

accounts.

Treat all protocol parameters as untrusted, review command-construction

paths, restrict management interfaces, apply runtime process policies, and

include command-injection checks in automated testing and code review.

The vulnerability is described as remotely exploitable because the affected

HNAP CGI Handler can be reached over a network. Actual exposure depends on

interface binding, routing, authentication, and other deployment controls.

An attacker needs network access to the affected HNAP service and a way to

submit or influence the SOAPACTION argument. The available information does

not confirm whether authentication is required.

Avoid passing request data into shell commands. Use fixed operations,

structured process APIs, strict allowlists, and least-privilege service

accounts.

Treat all protocol parameters as untrusted, review command-construction

paths, restrict management interfaces, apply runtime process policies, and

include command-injection checks in automated testing and code review.

Find out what's already
exploitable in your codebase.