CyberSecBulletin

Improper Neutralization of Argument Delimiters in a Command

CWE-88

The product constructs a string for a command to be executed by a separate component in another control sphere, but it does not properly delimit the intended arguments, options, or switches within that command string.

We track 287 vulnerabilities of this type. 100% are rated high or critical, and the average CVSS score is 8.5. 5 have been exploited in real attacks.

How this weakness is prevented

  • Architecture and Design: Understand all the potential areas where untrusted inputs can enter your product: parameters or arguments, cookies, anything read from the network, environment variables, request headers as well as content, URL components, e-mail, files, databases, and any external systems that provide data to the application. Perform input validation at well-defined interfaces.
  • Implementation: Directly convert your input type into the expected data type, such as using a conversion function that translates a string into a number. After converting to the expected data type, ensure that the input's values fall within the expected range of allowable values and that multi-field consistencies are maintained.
  • Implementation: When exchanging data between components, ensure that both components are using the same character encoding. Ensure that the proper encoding is applied at each interface. Explicitly set the encoding you are using whenever the protocol allows you to do so.
  • Implementation: When your application combines data from multiple sources, perform the validation after the sources have been combined. The individual data elements may pass the validation step but violate the intended restrictions after they have been combined.
  • Testing: Use dynamic tools and techniques that interact with the product using large test suites with many diverse inputs, such as fuzz testing (fuzzing), robustness testing, and fault injection. The product's operation may slow down, but it should not become unstable, crash, or generate incorrect results.

Latest Improper Neutralization of Argument Delimiters in a Command vulnerabilities

  • 9.8 Critical severity

    github.com/Masterminds/vcs: Improper Neutralization of Argument Delimiters in a Command

    CVE-2022-21235github.com/Masterminds/vcsEPSS 1.58%

    The package github.com/masterminds/vcs before 1.13.3 are vulnerable to Command Injection via argument injection. When hg is executed, argument strings are passed to hg in a way that additional flags can be set. The additional flags can be used to perform a com

  • 8.8 High severity

    ungit: Improper Neutralization of Argument Delimiters in a Command

    CVE-2022-25766UngitEPSS 34.5%

    The package ungit before 1.5.20 are vulnerable to Remote Code Execution (RCE) via argument injection. The issue occurs when calling the /api/fetch endpoint. User controlled values (remote and ref) are passed to the git fetch command. By injecting some git opti

  • 9.8 Critical severity

    libvcs: Improper Neutralization of Argument Delimiters in a Command

    CVE-2022-21187LibvcsEPSS 3.62%

    The package libvcs before 0.11.1 are vulnerable to Command Injection via argument injection. When calling the update_repo function (when using hg), the url parameter is passed to the hg clone command. By injecting some hg options it was possible to get arbitra

  • 9.8 Critical severity

    simple-git: Improper Neutralization of Argument Delimiters in a Command

    CVE-2022-24433Simple-gitEPSS 3.71%

    The package simple-git before 3.3.0 are vulnerable to Command Injection via argument injection. When calling the .fetch(remote, branch, handlerFn) function, both the remote and branch parameters are passed to the git fetch subcommand. By injecting some git opt

  • 8.8 High severity

    Weblate: Improper Neutralization of Argument Delimiters in a Command

    CVE-2022-23915WeblateEPSS 3.1%

    The package weblate from 0 and before 4.11.1 are vulnerable to Remote Code Execution (RCE) via argument injection when using git or mercurial repositories. Authenticated users, can change the behavior of the application in an unintended way, leading to command

  • 9.8 Critical severity

    H2: Improper Neutralization of Argument Delimiters in a Command

    CVE-2022-23221H2databaseEPSS 64.8%

    H2 Console before 2.1.210 allows remote attackers to execute arbitrary code via a jdbc:h2:mem JDBC URL containing the IGNORE_UNKNOWN_SETTINGS=TRUE;FORBID_CREATION=FALSE;INIT=RUNSCRIPT substring, a different vulnerability than CVE-2021-42392.

  • 9.8 Critical severity

    PHPMailer Command Injection Exploited

    CVE-2016-10033Phpmailer ProjectEPSS 99.7%

    The mailSend function in the isMail transport in PHPMailer before 5.2.18 might allow remote attackers to pass extra parameters to the mail command and consequently execute arbitrary code via a \" (backslash double quote) in a crafted Sender property.