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

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

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

1185 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, AvailabilityExecute 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 DesignIf at all possible, use library calls rather than external processes to recreate the desired functionality.
ImplementationIf possible, ensure that all external commands called from the program are statically created.
ImplementationAssume 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…
OperationRun time: Run time policy enforcement may be used in an allowlist fashion to prevent use of any non-sanctioned commands.
System ConfigurationAssign 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 IDTitleCVSSSeverityPublished
CVE-2025-4350 D-Link DIR-600L wake_on_lan command injection — DIR-600L 8.8 High2025-05-06
CVE-2025-4349 D-Link DIR-600L formSysCmd command injection — DIR-600L 8.8 High2025-05-06
CVE-2025-4341 D-Link DIR-880L Request Header ssdpcgi sub_16570 command injection — DIR-880L 6.3 Medium2025-05-06
CVE-2025-4340 D-Link DIR-890L/DIR-806A1 soap.cgi sub_175C8 command injection — DIR-890L 6.3 Medium2025-05-06
CVE-2025-43844 GHSL-2025-014_Retrieval-based-Voice-Conversion-WebUI — Retrieval-based-Voice-Conversion-WebUI 9.8AICriticalAI2025-05-05
CVE-2025-43843 GHSL-2025-013_Retrieval-based-Voice-Conversion-WebUI — Retrieval-based-Voice-Conversion-WebUI 9.8AICriticalAI2025-05-05
CVE-2025-43842 GHSL-2025-012_Retrieval-based-Voice-Conversion-WebUI — Retrieval-based-Voice-Conversion-WebUI 9.8AICriticalAI2025-05-05
CVE-2025-4135 Netgear WG302v2 ui_get_input_value command injection — WG302v2 6.3 Medium2025-04-30
CVE-2025-4122 Netgear JWNR2000v2 sub_435E04 command injection — JWNR2000v2 6.3 Medium2025-04-30
CVE-2025-4121 Netgear JWNR2000v2 cmd_wireless command injection — JWNR2000v2 6.3 Medium2025-04-30
CVE-2025-4076 LB-LINK BL-AC3600 Password lighttpd.cgi easy_uci_set_option_string_0 command injection — BL-AC3600 6.3 Medium2025-04-29
CVE-2025-3987 TOTOLINK N150RT formWsc command injection — N150RT 6.3 Medium2025-04-27
CVE-2025-3983 AMTT Hotel Broadband Operation System nlog_down.php command injection — Hotel Broadband Operation System 4.7 Medium2025-04-27
CVE-2025-43858 YoutubeDLSharp allows command injection on windows system due to non sanitized arguments — YoutubeDLSharp 9.2 Critical2025-04-24
CVE-2025-43012 JetBrains Toolbox 命令注入漏洞 — Toolbox App 8.3 High2025-04-17
CVE-2025-3546 H3C Magic BE18000 HTTP POST Request getLanguage FCGI_CheckStringIfContainsSemicolon command injection — Magic NX15 8.0 High2025-04-14
CVE-2025-3545 H3C Magic BE18000 HTTP POST Request setLanguage FCGI_CheckStringIfContainsSemicolon command injection — Magic NX15 8.0 High2025-04-14
CVE-2025-3544 H3C Magic BE18000 HTTP POST Request getCapabilityWeb FCGI_CheckStringIfContainsSemicolon command injection — Magic NX15 8.0 High2025-04-14
CVE-2025-3543 H3C Magic NX15/Magic NX30 Pro/Magic NX400/Magic R3010 HTTP POST Request setsyncpppoecfg FCGI_WizardProtoProcess command injection — Magic NX15 8.0 High2025-04-14
CVE-2025-3542 H3C Magic NX15/Magic NX400/Magic R3010 HTTP POST Request getsyncpppoecfg FCGI_WizardProtoProcess command injection — Magic NX15 8.0 High2025-04-13
CVE-2025-3541 H3C Magic NX15/Magic NX30 Pro/Magic NX400/Magic R3010 HTTP POST Request getSpecs FCGI_WizardProtoProcess command injection — Magic NX15 8.0 High2025-04-13
CVE-2025-3540 H3C Magic NX15/Magic NX30 Pro/Magic NX400/Magic R3010 HTTP POST Request getCapability FCGI_WizardProtoProcess command injection — Magic NX15 8.0 High2025-04-13
CVE-2025-3539 H3C Magic BE18000 HTTP POST Request getBasicInfo FCGI_CheckStringIfContainsSemicolon command injection — Magic NX15 8.0 High2025-04-13
CVE-2025-3249 TOTOLINK A6000R mtkwifi.lua apcli_cancel_wps command injection — A6000R 6.3 Medium2025-04-04
CVE-2025-3008 Novastar CX40 NetFilter Utility netconfig popen command injection — CX40 5.5 Medium2025-03-31
CVE-2025-2916 Aishida Call Center System amr2mp3 command injection — Call Center System 6.3 Medium2025-03-28
CVE-2024-9773 Improper Neutralization of Special Elements used in a Command ('Command Injection') in GitLab — GitLab 3.7 Low2025-03-27
CVE-2025-2732 H3C Magic BE18000 HTTP POST Request getWifiNeighbour command injection — Magic NX15 8.0 High2025-03-25
CVE-2025-2731 H3C Magic BE18000 HTTP POST Request getDualbandSync command injection — Magic NX15 8.0 High2025-03-25
CVE-2025-2730 H3C Magic BE18000 HTTP POST Request getssidname command injection — Magic NX15 8.0 High2025-03-25

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