/

CVE-2026-18900

Severity:

HIGH RISK

(7.2)

OS Command Injection (CWE-78) in H3C NX15 Backend API

CVE-2026-18900

Deferred

Vulnerability type

Category:

OS Command Injection

CWE:

CWE-77, CWE-78

Impact:

Remote Code Execution

Severity:

HIGH RISK

(7.2)

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 high-severity command injection vulnerability affects the H3C NX15 Backend RPC component through the /api/esps endpoint and its file.exec function. A remote attacker may be able to influence the File argument and cause operating system commands to run with the privileges of the backend service.

Affected context

The weakness occurs in H3C NX15 V100R017 deployments where the Backend RPC service exposes the /api/esps endpoint and processes attacker-influenced input through the file.exec function. Risk is higher when the endpoint is remotely reachable, input validation is insufficient, and the service account has permissions to access sensitive files or execute system operations.

Exploit preconditions

  • Attack surface: The remotely reachable Backend RPC endpoint at /api/esps
  • Required access: Network access to the affected service; authentication requirements depend on the deployment configuration
  • Trigger point: Processing of the File argument by the file.exec function
  • Why exploitation is possible: Attacker-controlled input may reach an operating-system command execution path without adequate separation between data and command arguments

Why this happens

The underlying issue is improper neutralization of special elements in externally supplied input used in an operating-system command context. This behavior maps primarily to CWE-78: Improper Neutralization of Special Elements used in an OS Command, with CWE-77: Improper Neutralization of Special Elements in Output Used by a Downstream Component describing the broader command-injection class. The insecure pattern occurs when application input is incorporated into shell or system-command processing rather than passed through a constrained, non-shell API with strict validation.

Potential impact

  • An attacker may execute unauthorized operating-system commands
  • The backend service could be compromised
  • Sensitive files or configuration data could be read or modified
  • Network-connected systems may be targeted for lateral movement
  • Device availability and integrity could be affected

General mitigation guidance

Mitigation generally focuses on removing shell interpretation from file-operation workflows and reducing trust in request parameters.

Common defensive patterns include:

  • Using dedicated file APIs or non-shell process interfaces that separate executable names from arguments
  • Applying strict allowlists for permitted file names, paths, and operations
  • Canonicalizing paths and restricting access to approved directories
  • Rejecting metacharacters and unexpected input forms as a secondary defense, not as the sole control
  • Running the backend service with the minimum filesystem and operating-system privileges
  • Restricting network exposure and applying authentication and authorization at the endpoint
  • Logging security-relevant command and file-operation requests without recording sensitive data

How teams detect issues like this

Organizations can look for this weakness through:

  • Static analysis rules identifying shell execution APIs that receive request parameters
  • Code review checks for string concatenation or interpolation in command-building logic
  • Tests that verify file-operation inputs are passed as data rather than shell expressions
  • API gateway policies restricting access to administrative or backend RPC endpoints
  • Runtime monitoring for unusual process creation, command interpreters, or access to unexpected files
  • Alerts for anomalous requests to /api/esps and unexpected child processes spawned by the backend service

Automated code review and software composition tools may help identify related command-injection patterns.

Sources

SourceLink
github.comgithub.com/coconut652-7/IOT_Vul_Public/blob/main/H3C/NX15R017/file_exec_root_rce/poc/postauth_file_exec_rce.py
github.comgithub.com/coconut652-7/IOT_Vul_Public/blob/main/H3C/NX15R017/file_exec_root_rce/report/postauth_file_exec_rce_report.md
vuldb.comvuldb.com/cve/CVE-2026-18900
vuldb.comvuldb.com/submit/857814
vuldb.comvuldb.com/vuln/385934
vuldb.comvuldb.com/vuln/385934/cti

Frequently asked

questions

Yes, the vulnerable function is exposed through a backend RPC API, so exploitation may be possible remotely when the endpoint is reachable and the attacker satisfies any applicable access controls.

The available description does not establish a specific authentication requirement. The practical prerequisite is access to the affected endpoint, whether obtained through an authenticated account, an exposed service, or another deployment-specific path.

Replace shell-based command construction with dedicated file APIs or process interfaces that pass validated arguments separately, and enforce strict allowlists for permitted operations and paths.

Treat API parameters as untrusted, apply centralized input validation, restrict service privileges, protect backend endpoints with strong authorization, and monitor unexpected process execution.

Find out what's already
exploitable in your codebase.