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

245 results · Clear filters · Feed

  • Critical 9.1
    CVE-2025-54415 Public exploit

    dag-factory's CI/CD Workflow Allows for Repository Takeover and Secret Exfiltration

    dag-factory is a library for Apache Airflow® to construct DAGs declaratively via configuration files. In versions 0.23.0a8 and below, a high-severity vulnerability has been identified in the cicd.yml workflow within the astronomer/dag-factory GitHub repositor…

  • Critical 9.4
    CVE-2014-125118 Public exploit

    eScan 5.5-2 Web Management Console Command Injection

    A command injection vulnerability exists in the eScan Web Management Console version 5.5-2. The application fails to properly sanitize the 'pass' parameter when processing login requests to login.php, allowing an authenticated attacker with a valid username t…

  • Critical 9.8
    CVE-2019-25224 Public exploit EPSS 22%

    WP Database Backup < 5.2 - Unauthenticated OS Command Injection

    The WP Database Backup plugin for WordPress is vulnerable to OS Command Injection in versions before 5.2 via the mysqldump function. This vulnerability allows unauthenticated attackers to execute arbitrary commands on the host operating system.

  • Critical 10.0
    CVE-2025-5243 Public exploit

    Arbitrary File Upload in SMG Software's Information Portal

    Unrestricted Upload of File with Dangerous Type, Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') vulnerability in SMG Software Information Portal allows Code Injection, Upload a Web Shell to a Web Server, Code Inclus…

  • Critical 9.3
    CVE-2015-10141 Public exploit Scanner template

    Xdebug Remote Debugger Unauthenticated OS Command Execution

    An unauthenticated OS command injection vulnerability exists within Xdebug versions 2.5.5 and earlier, a PHP debugging extension developed by Derick Rethans. When remote debugging is enabled, Xdebug listens on port 9000 and accepts debugger protocol commands …

  • Critical 9.3
    CVE-2022-4978 Public exploit

    Steppschuh Remote Control Server 3.1.1.12 Unauthenticated RCE

    Remote Control Server, maintained by Steppschuh, 3.1.1.12 allows unauthenticated remote code execution when authentication is disabled, which is the default configuration. The server exposes a custom UDP-based control protocol that accepts remote keyboard inp…

  • Critical 9.3
    CVE-2025-34125 Public exploit

    D-Link DSP-W110A1 Cookie Command Injection

    An unauthenticated command injection vulnerability exists in the cookie handling process of the lighttpd web server on D-Link DSP-W110A1 firmware version 1.05B01. This occurs when specially crafted cookie values are processed, allowing remote attackers to exe…

  • Critical 9.3
    CVE-2025-34117 Public exploit EPSS 21%

    Netcore / Netis Routers RCE via UDP Port 53413 Backdoor

    A remote code execution vulnerability exists in multiple Netcore and Netis routers models with firmware released prior to August 2014 due to the presence of an undocumented backdoor listener on UDP port 53413. Exact version boundaries remain undocumented. An …

  • Critical 9.3
    CVE-2025-34103 Public exploit

    WePresent WiPG-1000 Unauthenticated Command Injection in via rdfs.cgi

    An unauthenticated command injection vulnerability exists in WePresent WiPG-1000 firmware versions prior to 2.2.3.0, due to improper input handling in the undocumented /cgi-bin/rdfs.cgi endpoint. The Client parameter is not sanitized before being passed to a …

  • Critical 10.0
    CVE-2025-34112 Public exploit

    Riverbed SteelCentral NetProfiler / NetExpress 10.8.7 RCE

    An authenticated multi-stage remote code execution vulnerability exists in Riverbed SteelCentral NetProfiler and NetExpress 10.8.7 virtual appliances. A SQL injection vulnerability in the '/api/common/1.0/login' endpoint can be exploited to create a new user …

  • Critical 9.3
    CVE-2025-34102 Public exploit

    CryptoLog Unauthenticated RCE via SQL Injection and Command Injection

    A remote code execution vulnerability exists in CryptoLog (PHP version, discontinued since 2009) due to a chained exploitation of SQL injection and command injection vulnerabilities. An unauthenticated attacker can gain shell access as the web server user by …

  • Critical 9.3
    CVE-2025-34095 Public exploit

    Mako Server v2.5 and v2.6 OS Command Injection via examples/save.lsp

    An OS command injection vulnerability exists in Mako Server versions 2.5 and 2.6, specifically within the tutorial interface provided by the examples/save.lsp endpoint. An unauthenticated attacker can send a crafted PUT request containing arbitrary Lua os.exe…

  • Critical 9.3
    CVE-2025-34101 Public exploit

    Serviio Media Server Unauthenticated Command Injection via checkStreamUrl VIDEO Parameter

    An unauthenticated command injection vulnerability exists in Serviio Media Server versions 1.4 through 1.8 on Windows, in the /rest/action API endpoint exposed by the console component (default port 23423). The checkStreamUrl method accepts a VIDEO parameter …

  • Critical 9.3
    CVE-2025-34099 Public exploit

    VICIdial vicidial_sales_viewer.php Unauthenticated Command Injection via Basic Auth Password

    An unauthenticated command injection vulnerability exists in VICIdial versions 2.9 RC1 through 2.13 RC1, within the vicidial_sales_viewer.php component when password encryption is enabled (a non-default configuration). The application improperly passes the HT…

  • Critical 9.6
    CVE-2025-6514 Public exploit EPSS 77%

    OS command injection in mcp-remote when connecting to untrusted MCP servers

    mcp-remote is exposed to OS command injection when connecting to untrusted MCP servers due to crafted input from the authorization_endpoint response URL

  • Critical 9.0
    CVE-2025-34087 Public exploit

    Pi-Hole AdminLTE Whitelist (now 'Web Allowlist') Remote Command Execution

    An authenticated command injection vulnerability exists in Pi-hole versions up to 3.3. When adding a domain to the allowlist via the web interface, the domain parameter is not properly sanitized, allowing an attacker to append OS commands to the domain string…

  • Critical 9.3
    CVE-2025-34082 Public exploit

    IGEL OS Secure Terminal and Secure Shadow Remote Code Execution

    A command injection vulnerability exists in IGEL OS versions prior to 11.04.270 within the Secure Terminal and Secure Shadow services. The flaw arises due to improper input sanitization in the handling of specially crafted PROXYCMD commands on TCP ports 30022…

  • Critical 10.0
    CVE-2025-34073 Public exploit Scanner template

    stamparm/maltrail <=0.54 Remote Command Execution

    An unauthenticated command injection vulnerability exists in stamparm/maltrail (Maltrail) versions <=0.54. A remote attacker can execute arbitrary operating system commands via the username parameter in a POST request to the /login endpoint. This occurs due t…

  • Critical 10.0
    CVE-2025-34037 Public exploit EPSS 96%

    Linksys Routers E/WAG/WAP/WES/WET/WRT-Series

    An OS command injection vulnerability exists in various models of E-Series Linksys routers via the /tmUnblock.cgi and /hndUnblock.cgi endpoints over HTTP on port 8080. The CGI scripts improperly process user-supplied input passed to the ttcp_ip parameter with…

  • Critical 10.0
    CVE-2025-34030 Public exploit Scanner template EPSS 52%

    sar2html OS Command Injection

    An OS command injection vulnerability exists in sar2html version 3.2.2 and prior via the plot parameter in index.php. The application fails to sanitize user-supplied input before using it in a system-level context. Remote, unauthenticated attackers can inject…

  • Critical 9.1
    CVE-2025-46271 Public exploit

    Planet Technology Network Products OS Command Injection

    UNI-NMS-Lite is vulnerable to a command injection attack that could allow an unauthenticated attacker to read or manipulate device data.

  • Critical 9.3
    CVE-2025-32778 Public exploit Scanner template EPSS 20%

    Web-Check allows command Injection via Unvalidated URL in Screenshot API

    Web-Check is an all-in-one OSINT tool for analyzing any website. A command injection vulnerability exists in the screenshot API of the Web Check project (Lissy93/web-check). The issue stems from user-controlled input (url) being passed unsanitized into a shel…

  • Critical 9.8
    CVE-2025-28137 Public exploit EPSS 34%

    The TOTOLINK A810R V4.1.2cu.5182_B20201026 were found to contain a pre-auth remote command execution vulnerability in t…

  • Critical 9.8
    CVE-2024-53584 Public exploit

    OpenPanel v0.3.4 was discovered to contain an OS command injection vulnerability via the timezone parameter.

  • Critical 9.1
    CVE-2025-22604 Public exploit

    Cacti has Authenticated RCE via multi-line SNMP responses

    Cacti is an open source performance and fault management framework. Due to a flaw in multi-line SNMP result parser, authenticated users can inject malformed OIDs in the response. When processed by ss_net_snmp_disk_io() or ss_net_snmp_disk_bytes(), a part of e…

  • Critical 9.8
    CVE-2024-12847 Public exploit EPSS 30%

    NETGEAR DGN setup.cgi OS Command Injection

    NETGEAR DGN1000 before 1.1.00.48 is vulnerable to an authentication bypass vulnerability. A remote and unauthenticated attacker can execute arbitrary operating system commands as root by sending crafted HTTP requests to the setup.cgi endpoint. This vulnerabil…

  • Critical 10.0
    CVE-2024-50603 Exploited Public exploit Scanner template EPSS 99%

    An issue was discovered in Aviatrix Controller before 7.1.4191 and 7.2.x before 7.2.4996. Due to the improper neutraliz…

    KEV Jan 16, 2025
  • Critical 9.9
    CVE-2024-12828 Public exploit EPSS 33%

    Webmin CGI Command Injection Remote Code Execution Vulnerability

    Webmin CGI Command Injection Remote Code Execution Vulnerability. This vulnerability allows remote attackers to execute arbitrary code on affected installations of Webmin. Authentication is required to exploit this vulnerability. The specific flaw exists with…

  • Critical 9.3
    CVE-2024-56145 Exploited Public exploit Scanner template EPSS 97%

    RCE when PHP `register_argc_argv` config setting is enabled in craftcms/cms

    Craft is a flexible, user-friendly CMS for creating custom digital experiences on the web and beyond. Users of affected versions are affected by this vulnerability if their php.ini configuration has `register_argc_argv` enabled. For these users an unspecified…

    KEV Jun 2, 2025
  • Critical 10.0
    CVE-2024-47407 Public exploit EPSS 64%

    mySCADA myPRO OS Command Injection

    A parameter within a command does not properly validate input within myPRO Manager which could be exploited by an unauthenticated remote attacker to inject arbitrary operating system commands.

  • Critical 10.0
    CVE-2024-51378 Exploited · Ransomware Public exploit Scanner template EPSS 95%

    getresetstatus in dns/views.py and ftp/views.py in CyberPanel (aka Cyber Panel) before 1c0c6cb allows remote attackers …

    KEV Dec 4, 2024
  • Critical 10.0
    CVE-2024-51568 Public exploit Scanner template EPSS 48%

    CyberPanel (aka Cyber Panel) before 2.3.5 allows Command Injection via completePath in the ProcessUtilities.outputExecu…

  • Critical 9.3
    CVE-2024-9464 Public exploit EPSS 83%

    Expedition: Authenticated OS Command Injection Vulnerability Leads to Firewall Admin Credential Disclosure

    An OS command injection vulnerability in Palo Alto Networks Expedition allows an authenticated attacker to run arbitrary OS commands as root in Expedition, resulting in disclosure of usernames, cleartext passwords, device configurations, and device API keys o…

  • Critical 9.9
    CVE-2024-9463 Exploited Public exploit Scanner template EPSS 99%

    Expedition: Unauthenticated OS Command Injection Vulnerability Leads to Firewall Credential Disclosure

    An OS command injection vulnerability in Palo Alto Networks Expedition allows an unauthenticated attacker to run arbitrary OS commands as root in Expedition, resulting in disclosure of usernames, cleartext passwords, device configurations, and device API keys…

    KEV Nov 14, 2024
  • Critical 9.8
    CVE-2024-9441 Public exploit EPSS 53%

    Linear eMerge e3-Series Forgot Password Command Injection

    The Linear eMerge e3-Series through version 1.00-07 is vulnerable to an OS command injection vulnerability. A remote and unauthenticated attacker can execute arbitrary OS commands via the login_id parameter when invoking the forgot_password functionality over…

  • Critical 10.0
    CVE-2024-45519 Exploited Public exploit Scanner template EPSS 100%

    The postjournal service in Zimbra Collaboration (ZCS) before 8.8.15 Patch 46, 9 before 9.0.0 Patch 41, 10 before 10.0.9…

    KEV Oct 3, 2024
  • Critical 9.3
    CVE-2024-9166 Public exploit Scanner template

    OS Command Injection in Atelmo Atemio AM 520 HD Full HD Satellite Receiver

    The device enables an unauthorized attacker to execute system commands with elevated privileges. This exploit is facilitated through the use of the 'getcommand' query within the application, allowing the attacker to gain root access.

  • Critical 10.0
    CVE-2024-45798 Public exploit

    Multiple Poisoned Pipeline Execution (PPE) vulnerabilities

    arduino-esp32 is an Arduino core for the ESP32, ESP32-S2, ESP32-S3, ESP32-C3, ESP32-C6 and ESP32-H2 microcontrollers. The `arduino-esp32` CI is vulnerable to multiple Poisoned Pipeline Execution (PPE) vulnerabilities. Code injection in `tests_results.yml` wor…

  • Critical 9.8
    CVE-2024-8517 Public exploit Scanner template EPSS 95%

    SPIP Bigup Multipart File Upload OS Command Injection

    SPIP before 4.3.2, 4.2.16, and 4.1.18 is vulnerable to a command injection issue. A remote and unauthenticated attacker can execute arbitrary operating system commands by sending a crafted multipart file upload HTTP request.

  • Critical 10.0
    CVE-2024-7591 Public exploit Scanner template EPSS 39%

    Improper Input Validation vulnerability in Progress LoadMaster allows OS Command Injection

    Improper Input Validation vulnerability in Progress LoadMaster allows OS Command Injection.This issue affects: * LoadMaster: 7.2.40.0 and above * ECS: All versions * Multi-Tenancy: 7.1.35.4 and above