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 10.0
    CVE-2026-10520 Exploited Public exploit Scanner template EPSS 100%

    An OS Command Injection vulnerability in Ivanti Sentry before the R10.5.2, R10.6.2 and R10.7.1 versions allows a remote…

    KEV Jun 11, 2026
  • Critical 9.9
    CVE-2026-9645 Public exploit

    ScadaBR Authenticated Remote Code Execution

    Exposed methods allow authenticated users to create and execute arbitrary JavaScript code on the server. The scripts execute with full access, enabling complete system compromise as commands are executed as root.

  • Critical 9.0
    CVE-2026-4408 Public exploit EPSS 47%

    Samba: remote code execution in samr

    A flaw was found in Samba. A remote attacker can exploit a misconfiguration in Samba file servers and classic domain controllers that use the "check password script" feature. If this script is configured with the %u substitution character, the client-controll…

  • Critical 9.3
    CVE-2026-44590 Public exploit

    Sherlock: Command Injection via pull_request_target in validate_modified_targets.yml

    Sherlock hunts down social media accounts by username across social networks. Prior to 0.16.1, the GitHub Actions workflow validate_modified_targets.yml is vulnerable to command injection via the pull_request_target trigger. Any GitHub user can execute arbitr…

  • Critical 10.0
    CVE-2026-45087 Public exploit

    Dalfox: Unauthenticated Remote Code Execution via `found-action` in Dalfox Server Mode

    Dalfox is a powerful open-source XSS scanner and utility focused on automation. Prior to 2.13.0, when dalfox is started in REST API server mode (dalfox server), the server binds to 0.0.0.0:6664 by default and requires no API key unless the operator explicitly…

  • Critical 9.0
    CVE-2026-4480 Public exploit Scanner template EPSS 29%

    Samba: samba: remote code execution in printing subsystem via unescaped job description

    A flaw was found in the Samba printing subsystem. Samba passes the client-controlled job description string to the command configured with the "print command" setting via the "%J" substitution character without escaping shell meta characters. A remote attacke…

  • Critical 10.0
    CVE-2026-34234 Public exploit Scanner template

    CtrlPanel: Unauthenticated RCE using installer script

    CtrlPanel is open-source billing software for hosting providers. In versions 1.1.1 and prior, the web-based installer (public/installer/index.php) is vulnerable to unauthenticated Remote Code Execution (RCE) because it performs the install.lock check only aft…

  • Critical 9.8
    CVE-2026-42589 Public exploit Scanner template

    Gotenberg: Unauthenticated RCE via ExifTool Metadata Key Injection

    Gotenberg is a Docker-powered stateless API for PDF files. Prior to 8.31.0, Gotenberg's /forms/pdfengines/metadata/write HTTP endpoint accepts a JSON metadata object and passes its keys directly to ExifTool via the go-exiftool library. No validation is perfor…

  • Critical 9.1
    CVE-2024-51092 Public exploit

    LibreNMS has an Authenticated OS Command Injection

    LibreNMS before 24.10.0 allows a remote attacker to execute arbitrary code via OS command injection involving AboutController.php's index(), SettingsController.php's update(), and PollDevice.php's initRrdDirectory().

  • Critical 9.1
    CVE-2026-36356 Public exploit EPSS 20%

    The GoAhead web server on MeiG Smart FORGE_SLT711 devices (firmware MDM9607.LE.1.0-00110-STD.PROD-1) allows unauthentic…

  • Critical 9.2
    CVE-2026-41179 Public exploit Scanner template

    RClone: Unauthenticated operations/fsinfo allows attacker-controlled backend instantiation and local command execution

    Rclone is a command-line program to sync files and directories to and from different cloud storage providers. Starting in version 1.48.0 and prior to version 1.73.5, the RC endpoint `operations/fsinfo` is exposed without `AuthRequired: true` and accepts attac…

  • Critical 9.4
    CVE-2026-6644 Public exploit

    A command injection vulnerability was found in the PPTP VPN Clients on the ADM

    A command injection vulnerability was found in the PPTP VPN Clients on the ADM. The vulnerability allows an administrative user to break out of the restricted web environment and execute arbitrary code on the underlying operating system. This occurs due to in…

  • Critical 9.4
    CVE-2026-23500 Public exploit

    Dolibarr: OS Command Injection (RCE) via MAIN_ODT_AS_PDF configuration

    Dolibarr is an enterprise resource planning (ERP) and customer relationship management (CRM) software package. In versions prior to 23.0.0 , the ODT to PDF conversion process in odf.php concatenates the MAIN_ODT_AS_PDF configuration constant directly into a s…

  • Critical 9.1
    CVE-2026-39808 Exploited Public exploit Scanner template EPSS 93%

    A improper neutralization of special elements used in an os command ('os command injection') vulnerability in Fortinet …

    KEV Jul 16, 2026
  • Critical 9.8
    CVE-2026-5059 Public exploit

    aws-mcp-server AWS CLI Command Injection Remote Code Execution Vulnerability

    aws-mcp-server AWS CLI Command Injection Remote Code Execution Vulnerability. This vulnerability allows remote attackers to execute arbitrary code on affected installations of aws-mcp-server. Authentication is not required to exploit this vulnerability. The s…

  • Critical 9.3
    CVE-2026-39382 Public exploit

    dbt has a Command Injection in Reusable Workflow via Unsanitized comment-body Output

    dbt enables data analysts and engineers to transform their data using the same practices that software engineers use to build applications. Inside the reusable workflow dbt-labs/actions/blob/main/.github/workflows/open-issue-in-repo.yml, the prep job uses pet…

  • Critical 9.8
    CVE-2026-4631 Public exploit Scanner template EPSS 15%

    Cockpit: cockpit: unauthenticated remote code execution due to ssh command-line argument injection

    Cockpit's remote login feature passes user-supplied hostnames and usernames from the web interface to the SSH client without validation or sanitization. An attacker with network access to the Cockpit web service can craft a single HTTP request to the login en…

  • Critical 9.8
    CVE-2026-34243 Public exploit

    wenxian: Command Injection in GitHub Actions Workflow via `issue_comment.body`

    wenxian is a tool to generate BIBTEX files from given identifiers (DOI, PMID, arXiv ID, or paper title). In versions 0.3.1 and prior, a GitHub Actions workflow uses untrusted user input from issue_comment.body directly inside a shell command, allowing potenti…

  • Critical 9.6
    CVE-2026-0596 Public exploit

    Command Injection in mlflow/mlflow

    A command injection vulnerability exists in mlflow/mlflow when serving a model with `enable_mlserver=True`. The `model_uri` is embedded directly into a shell command executed via `bash -c` without proper sanitization. If the `model_uri` contains shell metacha…

  • Critical 9.8
    CVE-2026-26831 Public exploit

    textract is vulnerable to OS Command Injection

    textract through 2.5.0 is vulnerable to OS Command Injection via the file path parameter in multiple extractors. When processing files with malicious filenames, the filePath is passed directly to child_process.exec() in lib/extractors/doc.js, rtf.js, dxf.js, …

  • Critical 9.8
    CVE-2026-26830 Public exploit

    pdf-image has an OS Command Injection Vulnerability through its pdfFilePath parameter

    pdf-image (npm package) through version 2.0.0 allows OS command injection via the pdfFilePath parameter. The constructGetInfoCommand and constructConvertCommandForPage functions use util.format() to interpolate user-controlled file paths into shell command st…

  • Critical 9.8
    CVE-2026-26833 Public exploit

    thumbler allows OS Command Injection

    thumbler through 1.1.2 allows OS command injection via the input, output, time, or size parameter in the thumbnail() function because user input is concatenated into a shell command string passed to child_process.exec() without proper sanitization or escaping.

  • Critical 9.8
    CVE-2026-26832 Public exploit

    node-tesseract-ocr is vulnerable to OS Command Injection through unsanitized recognize() function parameter

    node-tesseract-ocr is an npm package that provides a Node.js wrapper for Tesseract OCR. In all versions through 2.2.1, the recognize() function in src/index.js is vulnerable to OS Command Injection. The file path parameter is concatenated into a shell command…

  • Critical 9.1
    CVE-2026-33475 Public exploit

    Langflow GitHub Actions Shell Injection

    Langflow is a tool for building and deploying AI-powered agents and workflows. An unauthenticated remote shell injection vulnerability exists in multiple GitHub Actions workflows in the Langflow repository prior to version 1.9.0. Unsanitized interpolation of …

  • Critical 9.1
    CVE-2026-32238 Public exploit

    OpenEMR has Remote Code Execution in backup functionality

    OpenEMR is a free and open source electronic health records and medical practice management application. Versions prior to 8.0.0.2 contain a Command injection vulnerability in the backup functionality that can be exploited by authenticated attackers. The vuln…

  • Critical 9.8
    CVE-2025-67038 Exploited Public exploit EPSS 21%

    Lantronix EDS5000, G520, and X300 OS Command Injection

    An issue was discovered in Lantronix EDS5000 2.1.0.0R3. The HTTP RPC module executes a shell command to write logs when user's authentication fails. The username is directly concatenated with the command without any sanitization. This allow attackers to injec…

    KEV Jun 23, 2026
  • Critical 9.8
    CVE-2026-29058 Public exploit Scanner template

    AVideo: Unauthenticated OS Command Injection via base64Url in objects/getImage.php

    AVideo is a video-sharing Platform software. Prior to version 7.0, an unauthenticated attacker can execute arbitrary OS commands on the server by injecting shell command substitution into the base64Url GET parameter. This can lead to full server compromise, d…

  • Critical 9.3
    CVE-2026-28517 Public exploit

    openDCIM <= 23.04 OS Command Injection via dot Configuration Parameter

    openDCIM version 23.04, through commit 4467e9c4, contains an OS command injection vulnerability in report_network_map.php. The application retrieves the 'dot' configuration parameter from the database and passes it directly to exec() without validation or san…

  • Critical 10.0
    CVE-2026-27626 Public exploit

    OliveTin vulnerable to OS Command Injection via `password` argument type and webhook JSON extraction bypasses shell safety checks

    OliveTin gives access to predefined shell commands from a web interface. In versions up to and including 3000.10.0, OliveTin's shell mode safety check (`checkShellArgumentSafety`) blocks several dangerous argument types but not `password`. A user supplying a …

  • Critical 9.8
    CVE-2026-22553 Public exploit

    InSAT MasterSCADA BUK-TS OS Command Injection

    All versions of InSAT MasterSCADA BUK-TS are susceptible to OS command injection through a field in its MMadmServ web interface. Malicious users that use the vulnerable endpoint are potentially able to cause remote code execution.

  • Critical 9.8
    CVE-2026-27175 Public exploit Scanner template

    MajorDoMo Command Injection in rc/index.php via Race Condition

    MajorDoMo (aka Major Domestic Module) is vulnerable to unauthenticated OS command injection via rc/index.php. The $param variable from user input is interpolated into a command string within double quotes without sanitization via escapeshellarg(). The command…

  • Critical 9.8
    CVE-2025-65791 Public exploit

    ZoneMinder v1.36.34 is vulnerable to Command Injection in web/views/image.php. The application passes unsanitized user …

  • Critical 9.9
    CVE-2026-1731 Exploited · Ransomware Public exploit Scanner template EPSS 94%

    Remote code execution vulnerability in BeyondTrust Remote Support (RS) and Privileged Remote Access (PRA)

    BeyondTrust Remote Support (RS) and certain older versions of Privileged Remote Access (PRA) contain a critical pre-authentication remote code execution vulnerability. By sending specially crafted requests, an unauthenticated remote attacker may be able to ex…

    KEV Feb 13, 2026
  • Critical 9.1
    CVE-2026-25643 Public exploit

    Frigate Affected by Authenticated Remote Command Execution (RCE) and Container Escape

    Frigate is a network video recorder (NVR) with realtime local object detection for IP cameras. Prior to 0.16.4, a critical Remote Command Execution (RCE) vulnerability has been identified in the Frigate integration with go2rtc. The application does not saniti…

  • Critical 9.4
    CVE-2025-69212 Public exploit

    OpenSTAManager has an OS Command Injection in P7M File Processing

    OpenSTAManager is an open source management software for technical assistance and invoicing. In 2.9.8 and earlier, a critical OS Command Injection vulnerability exists in the P7M (signed XML) file decoding functionality. An authenticated attacker can upload a…

  • Critical 9.4
    CVE-2026-25512 Public exploit Scanner template EPSS 20%

    Group-Office is vulnerable to RCE due to Command Injection via TNEF Attachment Handler

    Group-Office is an enterprise customer relationship management and groupware tool. Prior to versions 6.8.150, 25.0.82, and 26.0.5, there is a remote code execution (RCE) vulnerability in Group-Office. The endpoint email/message/tnefAttachmentFromTempFile dire…

  • Critical 9.4
    CVE-2026-25053 Public exploit

    n8n is Vulnerable to OS Command Injection in Git Node

    n8n is an open source workflow automation platform. Prior to versions 1.123.10 and 2.5.0, vulnerabilities in the Git node allowed authenticated users with permission to create or modify workflows to execute arbitrary system commands or read arbitrary files on…

  • Critical 9.7
    CVE-2026-25130 Public exploit

    Cybersecurity AI vulnerable to command Injection through argument injection in find_file Agent tool

    Cybersecurity AI (CAI) is a framework for AI Security. In versions up to and including 0.5.10, the CAI (Cybersecurity AI) framework contains multiple argument injection vulnerabilities in its function tools. User-controlled input is passed directly to shell c…

  • Critical 9.9
    CVE-2026-24841 Public exploit

    Dokploy Vulnerable to Authenticated Remote Code Execution via Command Injection in Docker Container Terminal WebSocket Endpoint

    Dokploy is a free, self-hostable Platform as a Service (PaaS). In versions prior to 0.26.6, a critical command injection vulnerability exists in Dokploy's WebSocket endpoint `/docker-container-terminal`. The `containerId` and `activeWay` parameters are direct…

  • Critical 9.1
    CVE-2026-23520 Public exploit

    Arcane has a Command Injection in Arcane Updater Lifecycle Labels Enables RCE

    Arcane provides modern docker management. Prior to 1.13.0, Arcane has a command injection in the updater service. Arcane’s updater service supported lifecycle labels com.getarcaneapp.arcane.lifecycle.pre-update and com.getarcaneapp.arcane.lifecycle.post-updat…