Skip to content
OpenAdvisories

Weakness (CWE)

CWE-78: OS Command Injection

Base Improper Neutralization of Special Elements used in an OS Command

The product constructs all or part of an OS command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended OS command before it is sent to a downstream component.

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

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

  2. Architecture and Design, Operation

    Run the code in a "jail" or similar sandbox environment that enforces strict boundaries between the process and the operating system. This may effectively restrict which files can be accessed in a particular directory or which commands can be executed by the software.

    OS-level examples include the Unix chroot jail, AppArmor, and SELinux. In general, managed code may provide some protection. For example, java.io.FilePermission in the Java SecurityManager allows the software to specify restrictions on file operations.

    This may not be a feasible solution, and it only limits the impact to the operating system; the rest of the application may still be subject to compromise.

    Be careful to avoid CWE-243 and other weaknesses related to jails.

  3. Architecture and Design

    For any data that will be used to generate a command to be executed, keep as much of that data out of external control as possible. For example, in web applications, this may require storing the data locally in the session's state instead of sending it out to the client in a hidden form field.

  4. Architecture and Design

    For any security checks that are performed on the client side, ensure that these checks are duplicated on the server side, in order to avoid CWE-602. Attackers can bypass the client-side checks by modifying values after the checks have been performed, or by changing the client to remove the client-side checks entirely. Then, these modified values would be submitted to the server.

  5. Architecture and Design

    Use a vetted library or framework that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid.

    For example, consider using the ESAPI Encoding control [REF-45] or a similar tool, library, or framework. These will help the programmer encode outputs in a manner less prone to error.

  6. Implementation

    While it is risky to use dynamically-generated query strings, code, or commands that mix control and data together, sometimes it may be unavoidable. Properly quote arguments and escape any special characters within those arguments. The most conservative approach is to escape or filter all characters that do not pass an extremely strict allowlist (such as everything that is not alphanumeric or white space). If some special characters are still needed, such as white space, wrap each argument in quotes after the escaping/filtering step. Be careful of argument injection (CWE-88).

  7. Implementation

    If the program to be executed allows arguments to be specified within an input file or from standard input, then consider using that mode to pass arguments instead of the command line.

  8. Architecture and Design

    If available, use structured mechanisms that automatically enforce the separation between data and code. These mechanisms may be able to provide the relevant quoting, encoding, and validation automatically, instead of relying on the developer to provide this capability at every point where output is generated.

    Some languages offer multiple functions that can be used to invoke commands. Where possible, identify any function that invokes a command shell using a single string, and replace it with a function that requires individual arguments. These functions typically perform appropriate quoting and filtering of arguments. For example, in C, the system() function accepts a string that contains the entire command to be executed, whereas execl(), execve(), and others require an array of strings, one for each argument. In Windows, CreateProcess() only accepts one command at a time. In Perl, if system() is provided with an array of arguments, then it will quote each of the arguments.

Source: MITRE CWE-78

213 results · Clear filters · Feed

  • High 8.0
    CVE-2026-125399 Public exploit

    Fluxion before 6.39 OS Command Injection via Crafted SSID

    Fluxion before 6.39 contains an OS command injection vulnerability in the fluxion.sh target scanner, which decodes access point ESSIDs with eval after escaping only single quotes. Attackers within Wi-Fi range can broadcast an access point with a crafted SSID …

  • High 8.8
    CVE-2026-94434 Public exploit

    OS Command Injection Leading to Root Code Execution in TÜBİTAK BİLGEM's Pardus Boot Repair

    Improper neutralization of special elements used in an OS command ('OS command injection') vulnerability in TÜBİTAK BİLGEM Software Technologies Research Institute Pardus Boot Repair allows OS Command Injection. This issue affects Pardus Boot Repair: from 1.0…

  • High 8.8
    CVE-2026-33050 Public exploit

    GeoNode: OS command injection via uploaded file layer name

    GeoNode is a geospatial content management system, a platform for the management and publication of geospatial data. Prior to 5.1.0, a crafted vector file layer name supplied during upload allows a low-privileged remote user to inject shell syntax and execute…

  • High 8.1
    CVE-2026-54161 Public exploit

    upsmon: remote OS command injection (RCE) via attacker-controlled ups.alarm in NOTIFYCMD execution

    Network UPS Tools is a collection of programs which provide a common interface for monitoring and administering UPS, PDU and SCD hardware. From 2.8.3 to 2.8.5, upsmon in clients/upsmon.c inserts the server-supplied ups.alarm value into shell commands executed…

  • High 7.2
    CVE-2026-118238 Public exploit

    CVE-2026-118238

    The Tenda W18E web management server is vulnerable to OS command injection via the "diagnose" packet-capture feature due to improper validation of JSON fields. An authenticated user can inject shell metacharacters into the protocol or targetDevice fields, whi…

  • High 8.8
    CVE-2026-107326 Public exploit

    Langflow OSS is affected by multiple vulnerabilities

    IBM Langflow OSS 1.0.0 through 1.12.4 could allow a remote authenticated attacker to execute arbitrary code due to improper neutralization of special elements used in an OS command.

  • High 7.5
    CVE-2026-119025 Public exploit

    open 7.2.0 before 11.0.0 OS Command Injection via PowerShell on Windows

    open 7.2.0 before 11.0.0 contains an OS command injection vulnerability that allows attackers to execute PowerShell code by supplying crafted URLs on Windows and WSL. Attackers can embed $(...) subexpressions in URLs, such as OAuth authorization_endpoint valu…

  • High 7.8
    CVE-2026-117561 Public exploit

    sf-mcp through 1.3.2 OS Command Injection via Salesforce CLI Flag Values

    Codefriar sf-mcp through 1.3.2 contains an OS command injection vulnerability that allows attackers to execute shell commands by supplying crafted Salesforce CLI tool flag values. Because escapeValue() in src/utils.ts fails to neutralize backticks, $() substi…

  • High 7.2
    CVE-2026-39902 Public exploit

    Cacti: Authenticated RCE on Data Input

    Cacti is an open source performance and fault management framework. Prior to version 1.2.31, the prior blocklist ([;&| `$\\n\r]) omitted single-quote, double-quote, redirect operators, subshell parens and braces. An authenticated admin could save an input_str…

  • High 8.8
    CVE-2026-102607 Public exploit

    ZoneMinder: Authenticated OS Command Injection (RCE) via Export Feature

    ZoneMinder is a free, open source closed-circuit television software application. Prior to 1.38.3, the exportEvents() function concatenates the attacker-controlled exportFile request parameter into a shell command without neutralizing shell metacharacters whe…

  • High 8.8
    CVE-2026-55797 Public exploit

    Argo CD repo-server command injection via crafted SSH repository SOCKS5 proxy URL

    Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. From 2.11.0 until 3.3.15, 3.4.10, 3.5.4, and 3.6.0-rc2, the Argo CD repo-server is vulnerable to command injection when it clones, tests, or fetches an SSH Git repository configured wit…

  • High 7.8
    CVE-2026-102256 Public exploit

    Post-authentication Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') vulnerab…

  • High 8.1
    CVE-2026-102826 Public exploit

    simple-git allows command execution through unblocked Git configuration includes

    simple-git, an interface for running git commands in any node.js application, enables applications to execute Git operations from JavaScript. Prior to 4.0.0, the default blockUnsafeOperationsPlugin does not completely reject configuration includes supplied th…

  • High 8.1
    CVE-2026-102422 Public exploit

    shell-quote `quote()` command injection via a line terminator in a token after a `{ comment }` token

    shell-quote's `quote()` function emits a `{ comment }` token as `#` followed by its text, which comments out the rest of the shell line, including the opening quote of any later string token. A line terminator (\n, \r, U+2028, U+2029) in that later string the…

  • High 8.8
    CVE-2026-93349 Public exploit

    Frictionless OS Command Injection via explore Console Command

    Frictionless before 5.19.1 contains an OS command injection vulnerability in the explore console command that allows an attacker who supplies a crafted Data Package descriptor to execute arbitrary operating system commands as the user who explores it. Attacke…

  • High 8.4
    CVE-2026-19843 Public exploit

    389-ds-base: 389-ds-base: command injection via unescaped ldap dn in cockpit 389 console ldap editor

    A flaw was found in 389-ds-base. The Cockpit 389 Console's LDAP editor constructs an ldapsearch command by embedding an LDAP entry's distinguished name (DN) into a shell command string without proper escaping. An LDAP user with delegated privileges to create …

  • High 8.8
    CVE-2026-71963 Public exploit

    Hermes Agent 0.18.2 - 0.21.0 RCE via git core.fsmonitor Config Injection

    Hermes Agent 0.18.2 through 0.21.0, fixed in commit f6234d0, contains a remote code execution vulnerability that allows attackers to execute arbitrary OS commands by supplying a malicious repository with a crafted .git/config that sets core.fsmonitor to an at…

  • High 7.7
    CVE-2026-85168 Public exploit

    n8n before 1.123.73 Remote Code Execution via Git Node

    n8n versions before 1.123.73, 2.35.4, and 2.36.2 contain a remote code execution vulnerability in the Git node. The node reset a fixed list of command-bearing configuration keys before each operation, but that list did not cover the content-filter and merge-d…

  • High 7.8
    CVE-2026-83549 Exploited Public exploit

    Post-authentication Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') vulnerab…

    KEV Sep 2, 2026
  • High 7.7
    CVE-2026-84361 Public exploit

    Composer: Perforce source URL permits P4PORT `rsh:` command execution

    Composer is a dependency Manager for the PHP language. From 1.0 until 2.2.30 and 2.10.3, a malicious dependency package from a custom Composer repository or an untrusted composer.lock file could set source.type to perforce and source.url to an rsh: or jsh: P4…

  • High 8.8
    CVE-2026-76060 Public exploit

    OS Command Injection in PayRange API

    An authenticated OS command injection vulnerability exists in ZoneMinder's event export functionality. The exportFile HTTP request parameter is passed unsanitized into a shell command executed via PHP's exec(), allowing any authenticated user with View Events…

  • High 8.5
    CVE-2026-16348 Public exploit

    Command Injection Vulnerability in VPN connection of Archer BE800

    An authenticated command injection vulnerability in TP-Link Archer BE800 V1 allows an attacker with administrative access to execute arbitrary system commands with root privileges by injecting shell metacharacters via a VPN connection.  Successful exploitatio…

  • High 8.7
    CVE-2026-9254 Public exploit

    Command Injection Vulnerability in Parent Control of Multiple TP-Link Archer Devices

    An unauthenticated OS command injection vulnerability exists in the parental control functionality of Archer BE800 V1, BE3600 V1, and AX75 V1 due to improper filtering and neutralization of special characters in certain parameters. A LAN-based attacker can in…

  • High 8.5
    CVE-2026-75616 Public exploit

    Command Injection in Router Web Management Interface

    An OS command injection vulnerability exists in the web management interface of Archer C20 v6 firmware when processing certain WAN-related configuration operations. An authenticated administrator may exploit insufficient input validation to execute arbitrary …

  • High 8.8
    CVE-2026-19679 Public exploit

    Improper Input Validation

    An input validation vulnerability exists in Security Center's file upload handling, where insufficient sanitization of uploaded filenames could contribute to a downstream command injection issue.

  • High 8.9
    CVE-2026-73570 Exploited Public exploit EPSS 77%

    A remote code execution vulnerability exists in Zimbra Collaboration (ZCS) before 10.1.20 when the optional zimbra-snmp…

    KEV Aug 21, 2026
  • High 7.2
    CVE-2026-6837 Public exploit

    A post-authentication command injection vulnerability in the "export-cgi" CGI program in Zyxel WAX650S firmware version…

  • High 7.2
    CVE-2026-67599 Public exploit

    ClearOS 7.9 OS Command Injection via Log Viewer filter parameter

    ClearOS 7.9 contains an OS command injection vulnerability in the Log Viewer component that allows authenticated attackers to execute arbitrary commands by submitting unsanitized input through the filter parameter, which is interpolated directly into a shell …

  • High 7.2
    CVE-2026-67340 Public exploit

    ArcadeDB before 26.7.2 Remote Code Execution via Trigger Scripts

    ArcadeDB before 26.7.2 (arcadedb-engine) allows trigger scripts to look up host classes in java.lang.* (via Java.type) because ScriptTriggerExecutor adds java.lang.* to the allowed packages. An authenticated user with UPDATE_SCHEMA permission can create a Jav…

  • High 7.2
    CVE-2026-6952 Public exploit

    A post-authentication command injection vulnerability in the "LogServer" field of the syslog component in Zyxel AX7501-…

  • High 8.8
    CVE-2026-59734 Public exploit

    Coolify: OS Command Injection in Health Check Configuration Allows Remote Code Execution

    Coolify is an open-source and self-hostable tool for managing servers, applications, and databases. Prior to 4.0.0-beta.469, Coolify's app/Jobs/ApplicationDeploymentJob.php generate_healthcheck_commands() function directly interpolated the health_check_host, …

  • High 7.3
    CVE-2026-14802 Public exploit

    react create-react-app react-dev-utils openBrowser.js startBrowserProcess os command injection

    A vulnerability was detected in react create-react-app up to 5.0.1 on macOS. This affects the function startBrowserProcess of the file openBrowser.js of the component react-dev-utils. Performing a manipulation results in os command injection. Remote exploitat…

  • High 7.8
    CVE-2026-48778 Public exploit

    Notepad++: Arbitrary Code Execution via config.xml commandLineInterpreter

    Notepad++ is a free and open-source source code editor. Prior to 8.9.6.1, the <GUIConfig name="commandLineInterpreter"> tag in config.xml is read by NppXml::value() (Parameters.cpp:6430) and stored in _nppGUI._commandLineInterpreter without any validation, wh…

  • High 7.8
    CVE-2026-48800 Public exploit

    Notepad++: Arbitrary Code Execution via shortcuts.xml UserCommand Injection

    Notepad++ is a free and open-source source code editor. Prior to 8.9.6.1, the <Command> tag text content inside <UserDefinedCommands> in shortcuts.xml is read by NppXml::value(aNode) (Parameters.cpp:3658) in the feedUserCmds() function and stored in UserComma…

  • High 8.8
    CVE-2026-48732 Public exploit

    Warp: Remote SSH cwd can lead to unauthorized remote command execution

    Warp is an agentic development environment. From 0.2023.03.21.08.02.stable_00 until 0.2026.05.06.15.42.stable_01, Warp contains a command injection issue in the legacy SSH background command path. Warp used the remote working directory reported by the session…

  • High 8.7
    CVE-2026-11834 Public exploit

    Unauthenticated Command Injection via DHCP Option Handling in Multiple TP-Link Routers

    A command injection vulnerability has been identified in the DHCP option processing logic in multiple TP-Link router models, due to insufficient validation of externally supplied DHCP option data. An adjacent attacker may exploit this vulnerability by supplyi…

  • High 7.3
    CVE-2026-11417 Public exploit

    OS Command Injection in NodejsFunction Bundling in aws-cdk-lib

    OS command injection in the NodejsFunction local bundling pipeline in aws-cdk-lib before 2.245.0 (2.246.0 on Windows) might allow an actor who controls the value of one or more bundling properties (externalModules, define, loader, inject, or esbuildArgs) to e…

  • High 8.5
    CVE-2026-9151 Public exploit

    Command Injection Vulnerability in OpenVPN on Multiple TP-Link Archer Routers

    An OS command injection vulnerability exists in the VPN module of TP-Link Archer AX12 v1, AX17 v1. AX18 v1, and AX1300 v1.6 routers. This vulnerability allows an adjacent, authenticated attacker to execute arbitrary commands on the device by importing a speci…

  • High 7.7
    CVE-2026-46394 Public exploit

    HAX CMS Vulnerable to Command Injection using Git.php

    HAX CMS helps manage microsite universe with PHP or NodeJs backends. Prior to version 26.0.0, an OS command injection vulnerability exists in the Git.php library of the HAXcms PHP backend. The application constructs shell command strings using unsanitized inp…

  • High 8.8
    CVE-2026-49492 Public exploit

    Markdown Preview Enhanced OS Command Injection in External File and Link Opening

    Markdown Preview Enhanced before 0.8.28 opens external files and links from the preview through a shell and does not validate untrusted inputs taken from the markdown document - the diagram filename attribute, imported file paths, and the latex_engine code-ch…