Skip to content
OpenAdvisories

Weakness (CWE)

CWE-77: Command Injection

Class Draft Improper Neutralization of Special Elements used in a Command

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.

More detail

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.

How to prevent it (5 mitigations)
  1. Architecture and Design

    If at all possible, use library calls rather than external processes to recreate the desired functionality.

  2. Implementation

    If possible, ensure that all external commands called from the program are statically created.

  3. 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 of acceptable values, missing or extra inputs, syntax, consistency across related fields, and conformance to business rules. As an example of business rule logic, "boat" may be syntactically valid because it only contains alphanumeric characters, but it is not valid if the input is only expected to contain colors such as "red" or "blue."

    Do not rely exclusively on looking for malicious or malformed inputs. This is likely to miss at least one undesirable input, especially if the code's environment changes. This can give attackers enough room to bypass the intended validation. However, denylists can be useful for detecting potential attacks or determining which inputs are so malformed that they should be rejected outright.

  4. Operation

    Run time: Run time policy enforcement may be used in an allowlist fashion to prevent use of any non-sanctioned commands.

  5. System Configuration

    Assign permissions that prevent the user from accessing/opening privileged files.

Source: MITRE CWE-77

818 results · Clear filters · Feed

  • Critical 9.8

    Command injection in samba-client

    The samba-client package before 4.0.0 for Node.js allows command injection because of the use of process.exec.

  • Critical 9.8

    Command injection in gitlog

    The gitlog function in src/index.ts in gitlog before 4.0.4 has a command injection vulnerability.

  • Critical 9.8

    command injection vulnerability in Helpdesk

    The vulnerability have been reported to affect earlier versions of QTS. If exploited, this command injection vulnerability could allow remote attackers to run arbitrary commands. This issue affects: QNAP Systems Inc. Helpdesk versions prior to 3.0.3.

  • Critical 9.8

    Command Injection

    All versions of package launchpad are vulnerable to Command Injection via stop.

  • Critical 9.8

    command_injection

    This affects all versions of package ts-process-promises. The injection point is located in line 45 in main entry of package in lib/process-promises.js. The vulnerability is demonstrated with the following PoC:

  • Critical 9.8

    Command Injection

    This affects all versions of package buns. The injection point is located in line 678 in index file lib/index.js in the exported function install(requestedModule).

  • Critical 9.8
    CVE-2018-19949 Exploited · Ransomware EPSS 30%

    If exploited, this command injection vulnerability could allow remote attackers to run arbitrary commands. QNAP has alr…

    KEV May 24, 2022
  • Critical —

    Command Injection in traceroute

    All versions of `traceroute` are vulnerable to Command Injection. The package fails to sanitize input and passes it directly to an `exec` call, which may allow attackers to execute arbitrary code in the system. The `trace` function is vulnerable and can be ab…

  • Critical —

    Command Injection in npm-git-publish

    All versions of `npm-git-publish` are vulnerable to Command Injection. The package fails to sanitize input and passes it directly to an `execSync` call, which may allow attackers to execute arbitrary code in the system. The `publish` function is vulnerable th…

  • Critical —

    Command Injection in meta-git

    All versions of `meta-git` are vulnerable to Command Injection. The package fails to sanitize input and passes it directly to an `exec` call, which may allow attackers to execute arbitrary code in the system. The `clone` command is vulnerable through the bran…

  • Critical —

    Command Injection in giting

    All versions of `gitting` are vulnerable to Command Injection. The package fails to sanitize input and passes it directly to an `exec` call, which may allow attackers to execute arbitrary code in the system. The `pull` function is vulnerable through the `bran…

  • Critical —

    Command Injection in plotter

    All versions of `plotter` are vulnerable to Command Injection. The package fails to sanitize plot titles, which may allow attackers to execute arbitrary code in the system if the title value is supplied by a user. The following proof-of-concept creates a `tes…

  • Critical —

    Command Injection in gnuplot

    All versions of `gnuplot` are vulnerable to Command Injection. The package fails to sanitize plot titles, which may allow attackers to execute arbitrary code in the system if the title value is supplied by a user. The following proof-of-concept creates a `tes…

  • Critical —

    Command Injection in marsdb

    All versions of `marsdb` are vulnerable to Command Injection. In the `DocumentMatcher` class, selectors on `$where` clauses are passed to a Function constructor unsanitized. This allows attackers to run arbitrary commands in the system when the function is ex…

  • Critical —

    Command Injection in priest-runner

    All versions of `priest-runner` are vulnerable to Command Injection. The package fails to sanitize input and passes it directly to a `spawn` call, which may allow attackers to execute arbitrary code in the system. The `PriestController.prototype.createChild `…

  • Critical —

    Command Injection in node-wifi

    Versions of `node-wifi` prior to 2.0.12 are vulnerable to Command Injection. The package fails to sanitize user input, allowing attackers to inject commands through the `ssid` variable and possibly achieving Remote Code Execution on the system. ## Recommendat…

  • Critical —

    Command Injection in bestzip

    Versions of `bestzip` prior to 2.1.7 are vulnerable to Command Injection. The package fails to sanitize input rules and passes it directly to an `exec` call on the `zip` function . This may allow attackers to execute arbitrary code in the system as long as th…

  • Critical —

    Command Injection in samsung-remote

    Versions of `samsung-remote` before 1.3.5 are vulnerable to command injection. This vulnerability is exploitable if user input is passed into the `ip` option of the package constructor. ## Recommendation Update to version 1.3.5 or later.

  • Critical —

    Command Injection in pidusage

    Affected versions of `pidusage` pass unsanitized input to `child_process.exec()`, resulting in arbitrary code execution in the `ps` method. This package is vulnerable to this PoC on Darwin, SunOS, FreeBSD, and AIX. Windows and Linux are not vulnerable. ## Pro…

  • Critical —

    Command Injection in gm

    Versions of `gm` prior to 1.21.1 are affected by a command injection vulnerability. The vulnerability is triggered when user input is passed into `gm.compare()`, which fails to sanitize input correctly before calling the graphics magic binary. ## Recommendati…

  • Critical —

    Command Injection in ungit

    Versions of `ungit` prior to 0.9.0 are affected by a command injection vulnerability in the `url` parameter. ## Recommendation Update version 0.9.0 or later.

  • Critical 9.8

    Command Injection

    This affects all versions of package mock2easy. a malicious user could inject commands through the _data variable: Affected Area require('../server/getJsonByCurl')(mock2easy, function (error, stdout) { if (error) { return res.json(500, error); } res.json(JSON…

  • Critical 9.8

    Injection and Command Injection in devcert

    A command injection vulnerability in the `devcert` module may lead to remote code execution when users of the module pass untrusted input to the `certificateFor` function.

  • Critical 9.8
    CVE-2020-10826 EPSS 39%

    /cgi-bin/activate.cgi on Draytek Vigor3900, Vigor2960, and Vigor300B devices before 1.5.1 allows remote attackers to ac…

  • Critical 9.8

    OS Command Injection and Command Injection in kill-port-process

    The kill-port-process package version < 2.2.0 is vulnerable to a Command Injection vulnerability.

  • Critical 9.8
    CVE-2019-17361 EPSS 15%

    SaltStack Salt is vulnerable to command injection

    In SaltStack Salt through 2019.2.0, the salt-api NET API with the ssh client enabled is vulnerable to command injection. This allows an unauthenticated attacker with network access to the API endpoint to execute arbitrary code on the salt-api host.

  • Critical 9.9
    CVE-2019-15954 Public exploit EPSS 79%

    Total.js CMS RCE Vulnerability

    An issue was discovered in Total.js CMS 12.0.0. An authenticated user with the widgets privilege can gain achieve Remote Command Execution (RCE) on the remote server by creating a malicious widget with a special tag containing JavaScript code that will be eva…

  • Critical —

    Command Injection in open

    Versions of `open` before 6.0.0 are vulnerable to command injection when unsanitized user input is passed in. The package does come with the following warning in the readme: ``` The same care should be taken when calling open as if you were calling child_proc…

  • Critical 9.8
    CVE-2010-5330 Exploited EPSS 40%

    On certain Ubiquiti devices, Command Injection exists via a GET request to stainfo.cgi (aka Show AP info) because the i…

    KEV Apr 15, 2022
  • Critical —

    Command Injection in command-exists

    Versions of `command-exists` before 1.2.4 are vulnerable to command injection. This is exploitable if user input is provided to this module. ## Recommendation Update to version 1.2.4 or later.

  • Critical 9.8
    CVE-2013-7285 Public exploit Scanner template EPSS 84%

    Command Injection in Xstream

    Xstream API versions up to 1.4.6 and version 1.4.10, if the security framework has not been initialized, may allow a remote attacker to run arbitrary shell commands by manipulating the processed input stream when unmarshaling XML or any supported format. e.g.…

  • Critical 9.8
    CVE-2019-5420 Public exploit EPSS 89%

    Use of Insufficiently Random Values in Railties Allows Remote Code Execution

    A remote code execution vulnerability in development mode Rails <5.2.2.1, <6.0.0.beta3 can allow an attacker to guess the automatically generated development mode secret token. This secret token can be used in combination with other Rails internals to escalat…

  • Critical 9.8

    Donfig Command Injection in collect_yaml method

    An issue was discovered in Donfig 0.3.0. There is a vulnerability in the collect_yaml method in config_obj.py. It can execute arbitrary Python commands, resulting in command execution.

  • Critical 9.8
    CVE-2016-1000282 Public exploit EPSS 13%

    Critical severity vulnerability that affects Haraka

    Haraka version 2.8.8 and earlier comes with a plugin for processing attachments for zip files. Versions 2.8.8 and earlier can be vulnerable to command injection.

  • Critical 10.0

    Command Injection in apex-publish-static-files

    A command injection vulnerability in the apex-publish-static-files npm module version <2.0.1 which allows arbitrary shell command execution through a maliciously crafted argument.

  • Critical 9.8
    CVE-2018-14649 EPSS 12%

    It was found that ceph-isci-cli package as shipped by Red Hat Ceph Storage 2 and 3 is using python-werkzeug in debug sh…

  • Critical 9.8

    karo Metacharacter Handling Remote Command Execution

    The karo gem 2.3.8 for Ruby allows Remote command injection via the host field.

  • Critical 9.8

    ps Enables OS Command Injection

    A command Injection in ps package versions <1.0.0 for Node.js allowed arbitrary commands to be executed when attacker controls the PID.

  • Critical 9.8
    CVE-2018-3786 Public exploit EPSS 12%

    Command Injection in egg-scripts

    A command injection vulnerability in egg-scripts <v2.8.1 allows arbitrary shell command execution through a maliciously crafted command line argument.

  • Critical —

    active-support impersonates 'activesupport' gem

    active-support ruby gem 5.2.0 could allow a remote attacker to execute arbitrary code on the system, caused by containing a malicious backdoor. An attacker could exploit this vulnerability to execute arbitrary code on the system.