Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CWE-77 (在命令中使用的特殊元素转义处理不恰当(命令注入)) — Vulnerability Class 1471

1471 vulnerabilities classified as CWE-77 (在命令中使用的特殊元素转义处理不恰当(命令注入)). AI Chinese analysis included.

CWE-77 represents a critical input validation weakness where software constructs commands using untrusted data without properly sanitizing special characters. Attackers typically exploit this by injecting malicious payloads, such as semicolons or pipe operators, into user-supplied fields to alter the intended command structure. This allows them to execute arbitrary system commands, potentially leading to full system compromise, data exfiltration, or denial of service. To prevent such vulnerabilities, developers must strictly validate and sanitize all external inputs, ensuring that only expected data formats are processed. Utilizing parameterized APIs or safe command execution libraries instead of direct string concatenation significantly reduces risk. Additionally, implementing the principle of least privilege for application processes limits the potential impact of successful injection attempts, thereby enhancing overall system security against command injection attacks.

MITRE CWE Description
The product constructs all or part of a command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended command when it is sent to a downstream component. Many protocols and products have their own custom command language. While OS or shell command strings are frequently discovered and targeted, developers may not realize that these other command languages might also be vulnerable to attacks.
Common Consequences (1)
Integrity, Confidentiality, Availability Execute Unauthorized Code or Commands
If a malicious user injects a character (such as a semi-colon) that delimits the end of one command and the beginning of another, it may be possible to then insert an entirely new and unrelated command that was not intended to be executed. This gives an attacker a privilege or capability that they w…
Mitigations (5)
Architecture and Design If at all possible, use library calls rather than external processes to recreate the desired functionality.
Implementation If possible, ensure that all external commands called from the program are statically created.
Implementation Assume all input is malicious. Use an "accept known good" input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does. When performing input validation, consider all potentially relevant properties, including length, type of input, the full range…
Operation Run time: Run time policy enforcement may be used in an allowlist fashion to prevent use of any non-sanctioned commands.
System Configuration Assign permissions that prevent the user from accessing/opening privileged files.
Examples (2)
Consider a "CWE Differentiator" application that uses an an LLM generative AI based "chatbot" to explain the difference between two weaknesses. As input, it accepts two CWE IDs, constructs a prompt string, sends the prompt to the chatbot, and prints the results. The prompt string effectively acts as a command to the chatbot component. Assume that invokeChatbot() calls the chatbot and returns the …
prompt = "Explain the difference between {} and {}".format(arg1, arg2) result = invokeChatbot(prompt) resultHTML = encodeForHTML(result) print resultHTML
Bad · Python
Explain the difference between CWE-77 and CWE-78
Informative
Consider the following program. It intends to perform an "ls -l" on an input filename. The validate_name() subroutine performs validation on the input to make sure that only alphanumeric and "-" characters are allowed, which avoids path traversal (CWE-22) and OS command injection (CWE-78) weaknesses. Only filenames like "abc" or "d-e-f" are intended to be allowed.
my $arg = GetArgument("filename"); do_listing($arg); sub do_listing { my($fname) = @_; if (! validate_name($fname)) { print "Error: name is not well-formed!\n"; return; } # build command my $cmd = "/bin/ls -l $fname"; system($cmd); } sub validate_name { my($name) = @_; if ($name =~ /^[\w\-]+$/) { return(1); } else { return(0); } }
Bad · Perl
if ($name =~ /^\w[\w\-]+$/) ...
Good · Perl
CVE ID Title CVSS Severity Published
CVE-2026-19045 NocteDefensor LudusMCP get_credential_from_user secretDialog.ts SecretDialog.showSecretDialog command injection — LudusMCP 5.3 Medium 2026-08-06
CVE-2026-19044 LeeSinLiang godot-mcp create_scene/add_node index.ts executeOperation command injection — godot-mcp 5.3 Medium 2026-08-06
CVE-2026-19041 MissionSquad mcp-api NPM Package Version packages.ts this.packageService.installPackage command injection — mcp-api 6.3 Medium 2026-08-06
CVE-2026-19039 Kino-Kafkaesque ssh-mcp-server SSH index.ts ssh_exec command injection — ssh-mcp-server 5.3 Medium 2026-08-06
CVE-2026-19022 OpenHands send_pull_request.py initialize_repo command injection — OpenHands 6.3 Medium 2026-08-06
CVE-2026-18980 nearai ironclaw shell.rs classify_command_risk command injection — ironclaw 6.3 Medium 2026-08-06
CVE-2026-7693 Backup Migration <= 2.1.5.1 - Authenticated (Administrator+) OS Command Injection via 'file' Parameter — Backup Migration 7.2 High 2026-08-05
CVE-2026-18902 H3C NX15 esps repeaterproc command injection — NX15 7.2 High 2026-08-05
CVE-2026-18814 H3C NX15 esps reload.reload_config command injection — NX15 7.2 High 2026-08-04
CVE-2026-18813 H3C NX15 esps delete command injection — NX15 7.2 High 2026-08-04
CVE-2026-18812 H3C NX15 esps esps.ipv6.wan command injection — NX15 7.2 High 2026-08-04
CVE-2026-18811 H3C NX15 esps add command injection — NX15 7.2 High 2026-08-04
CVE-2026-18787 GL.iNet AX1800 RPC Endpoint oui-rpc.lua remove_rule command injection — AX1800 8.8 High 2026-08-04
CVE-2026-18686 GL.iNet GL-MT3000 nas-web RPC Wrapper glc nas-web.add_user command injection — GL-MT3000 9.8 Critical 2026-08-04
CVE-2026-18685 GL.iNet GL-MT3000 modem.so glc set_upgrade command injection — GL-MT3000 9.8 Critical 2026-08-03
CVE-2026-18684 GL.iNet GL-MT3000 modem.so glc remove_profile command injection — GL-MT3000 9.8 Critical 2026-08-03
CVE-2026-18616 GL-iNet GL-MT3000 wg-server.so Native Plugin glc server.set_peer command injection — GL-MT3000 9.8 Critical 2026-08-03
CVE-2026-18615 GL-iNet GL-MT3000 wg-server.so Native Plugin glc wg-server.generate_publickey command injection — GL-MT3000 9.8 Critical 2026-08-03
CVE-2026-18614 GL-iNet GL-MT3000 s2s.so Native Plugin glc s2s.enable_echo_server command injection — GL-MT3000 9.8 Critical 2026-08-03
CVE-2026-18612 GL-iNet GL-MT3000 plugins.so Native Plugin glc plugins.install_package command injection — GL-MT3000 9.8 Critical 2026-08-03
CVE-2026-18602 GL.iNet GL-MT3000 ovpn-client.so Native Plugin glc ovpn-client.get_recommend_config command injection — GL-MT3000 9.8 Critical 2026-08-03
CVE-2026-18601 GL.iNet GL-MT3000 ovpn-client.so Native Plugin glc ovpn-client.check_config command injection — GL-MT3000 9.8 Critical 2026-08-03
CVE-2026-18600 GL.iNet GL-MT3000 Network Lua RPC Plugin network network.switch_status command injection — GL-MT3000 8.8 High 2026-08-03
CVE-2026-18599 GL.iNet GL-MT3000 Logread Lua RPC Plugin logread logread.set_config command injection — GL-MT3000 8.0 High 2026-08-03
CVE-2026-18598 GL.iNet GL-MT3000 Logread Lua RPC plugin logread logread.get_system_log command injection — GL-MT3000 8.8 High 2026-08-03
CVE-2026-67323 GitPython before 3.1.51 Command Injection via unguarded Git options — GitPython 8.4 High 2026-08-01
CVE-2026-7849 Command Injection in SCM (idledisconnect parameter) — CHARX SEC-3150 9.8 Critical 2026-07-30
CVE-2024-58354 cal.com Repository Takeover via pull_request_target Workflow — cal.diy 9.9 Critical 2026-07-23
CVE-2026-47670 DbGate Vulnerable to Authenticated Remote Code Execution via loadReader functionName code injection — dbgate 9.4 Critical 2026-07-23
CVE-2026-47708 MCP-for-Stata: Command injection via log_file_name parameter in Stata command wrapper — stata-mcp - - 2026-07-21

Vulnerabilities classified as CWE-77 (在命令中使用的特殊元素转义处理不恰当(命令注入)) represent 1471 CVEs. The CWE taxonomy describes the weakness; review individual CVEs for product-specific impact.