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-2023-23355 QTS, QuTS hero, QuTScloud, QVP (QVR Pro appliances), QVR — QTS 6.6 Medium 2023-03-29
CVE-2022-43623 D-Link DIR-1935 命令注入漏洞 — DIR-1935 6.8 - 2023-03-29
CVE-2023-28430 OneSignal repository github action command injection — react-native-onesignal 7.3 High 2023-03-27
CVE-2023-1456 Ubiquiti EdgeRouter 命令注入漏洞 — EdgeRouter X 7.2 High 2023-03-25
CVE-2023-1457 Ubiquiti EdgeRouter 命令注入漏洞 — EdgeRouter X 7.2 High 2023-03-25
CVE-2023-1458 Ubiquiti EdgeRouter 命令注入漏洞 — EdgeRouter X 7.2 High 2023-03-25
CVE-2023-20097 Cisco Access Point Software Command Injection Vulnerability — Cisco Aironet Access Point Software 4.6 Medium 2023-03-23
CVE-2023-28425 Specially crafted MSETNX command can lead to denial-of-service — redis 5.5 Medium 2023-03-20
CVE-2015-10096 Zarthus IRC Twitter Announcer Bot twitter_announcer.rb get_tweets command injection — IRC Twitter Announcer Bot 5.0 Medium 2023-03-20
CVE-2023-28110 JumpServer Koko vulnerable to Command Injection for Kubernetes Connection — jumpserver 5.7 Medium 2023-03-16
CVE-2023-27581 github-slug-action vulnerable to arbitrary code execution — github-slug-action 8.8 High 2023-03-13
CVE-2023-0978 Trellix Intelligent Sandbox 命令注入漏洞 — Trellix Intelligent Sandbox 6.4 Medium 2023-03-13
CVE-2023-0628 Docker Desktop before 4.17.0 allows an attacker to execute an arbitrary command inside a Dev Environments container during initialization by tricking a user to open a crafted malicious docker-desktop:// URL — Docker Desktop 6.1 Medium 2023-03-13
CVE-2023-1277 kylin-system-updater Update InstallSnap command injection — kylin-system-updater 7.8 High 2023-03-08
CVE-2021-4329 json-logic-js logic.js command injection — json-logic-js 5.5 Medium 2023-03-05
CVE-2023-1162 DrayTek Vigor 2960 Web Management Interface mainfunction.cgi command injection — Vigor 2960 7.2 High 2023-03-03
CVE-2021-3855 Command Injection in Liman Central Management System — Liman Central Management System 8.8 High 2023-02-24
CVE-2023-23917 Rocket.Chat 安全漏洞 — Rocket.chat 8.8 - 2023-02-23
CVE-2023-25805 versionn Command Injection Vulnerability — versionn 9.8 Critical 2023-02-20
CVE-2023-20075 Cisco Secure Email 操作系统命令注入漏洞 — Cisco Secure Email 6.0 Medium 2023-02-16
CVE-2023-0861 Authenticated Command Injection in NetModule NSRW — NSRW 7.2 High 2023-02-16
CVE-2023-0849 Netgear WNDR3700v2 Web Interface command injection — WNDR3700v2 4.7 Medium 2023-02-15
CVE-2023-21778 Microsoft Dynamics Unified Service Desk Remote Code Execution Vulnerability — Microsoft Dynamics 365 Unified Service Desk 8.0 High 2023-02-14
CVE-2023-21805 Windows MSHTML Platform Remote Code Execution Vulnerability — Windows 10 Version 1507 7.8 High 2023-02-14
CVE-2023-0789 Command Injection in thorsten/phpmyfaq — thorsten/phpmyfaq 8.1 High 2023-02-12
CVE-2022-45104 部分Dell产品 操作系统命令注入漏洞 — Unisphere for PowerMax vApp 8.8 High 2023-02-10
CVE-2023-0649 dst-admin sendBroadcast command injection — dst-admin 6.3 Medium 2023-02-02
CVE-2023-0648 dst-admin masterConsole command injection — dst-admin 6.3 Medium 2023-02-02
CVE-2023-0647 dst-admin kickPlayer command injection — dst-admin 6.3 Medium 2023-02-02
CVE-2023-0646 dst-admin cavesConsole command injection — dst-admin 6.3 Medium 2023-02-02

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