java.tainted-system-command

返回列表 · CWE 索引

javaERROR规则详情

各语言消息对照

语言消息
de

Benutzereingaben gelangen in eine Methode, die einen Systembefehl ausführt. Das kann eine Command-Injection-Schwachstelle ergeben, die es einem Angreifer erlaubt, einen beliebigen Systembefehl auf den Server einzuschleusen; der Angreifer könnte Schadsoftware auf den Server laden oder Daten stehlen. Verwenden Sie stattdessen ProcessBuilder und zerlegen Sie den Befehl in einzelne Argumente, etwa: `new ProcessBuilder("ls", "-al", targetDirectory)`. Achten Sie außerdem darauf, den eigentlichen Befehl fest zu verankern oder per Allowlist festzulegen, damit Angreifer keine beliebigen Befehle ausführen können.

en

Detected user input entering a method which executes a system command. This could result in a command injection vulnerability, which allows an attacker to inject an arbitrary system command onto the server. The attacker could download malware onto or steal data from the server. Instead, use ProcessBuilder, separating the command into individual arguments, like this: `new ProcessBuilder("ls", "-al", targetDirectory)`. Further, make sure you hardcode or allowlist the actual command so that attackers can't run arbitrary commands.

fr

Une entrée utilisateur entrant dans une méthode qui exécute une commande système a été détectée. Cela peut créer une vulnérabilité d'injection de commande permettant à un attaquant d'injecter une commande système arbitraire sur le serveur, d'y télécharger un logiciel malveillant ou d'en voler des données. Utilisez plutôt ProcessBuilder en séparant la commande en arguments individuels, par exemple `new ProcessBuilder("ls", "-al", targetDirectory)` ; assurez-vous en outre de coder en dur la commande réelle ou de l'inscrire sur une liste blanche, afin qu'un attaquant ne puisse pas exécuter des commandes arbitraires.

ja

ユーザー入力がシステムコマンドを実行するメソッドに入り込んでいることが検出されました。これによりコマンドインジェクションの脆弱性が生じ、攻撃者はサーバー上で任意のコマンドを注入したり、マルウェアをダウンロードしたり、データを窃取したりする恐れがあります。ProcessBuilder に切り替え、コマンドを個別の引数に分割してください(例:`new ProcessBuilder("ls", "-al", targetDirectory)`)。また、実際のコマンドはハードコードするかホワイトリストに登録し、攻撃者が任意のコマンドを実行できないようにしてください。

ko

사용자 입력이 시스템 명령을 실행하는 메서드로 들어가는 것이 감지되었습니다. 명령 주입 취약점이 생길 수 있으며, 공격자가 서버에 임의의 명령을 삽입하거나 악성 코드를 다운로드하거나 데이터를 탈취할 수 있습니다. 대신 ProcessBuilder를 사용하고 명령을 `new ProcessBuilder("ls", "-al", targetDirectory)`처럼 독립된 인수로 분리하십시오. 또한 실제 명령을 하드코딩하거나 허용 목록으로 관리하여 공격자가 임의의 명령을 실행하지 못하게 하십시오.

ru

Обнаружено попадание пользовательского ввода в метод, выполняющий системную команду. Возможна уязвимость внедрения команд: злоумышленник сможет выполнить на сервере произвольную команду — загрузить вредоносное ПО или похитить данные. Используйте ProcessBuilder, разбивая команду на отдельные аргументы, например `new ProcessBuilder("ls", "-al", targetDirectory)`; кроме того, жёстко задайте саму команду или разрешайте её из белого списка, чтобы злоумышленник не смог выполнить произвольную команду.

zh

检测到用户输入进入执行系统命令的方法,可能形成命令注入漏洞,攻击者可在服务器上注入任意命令、下载恶意软件或窃取数据。请改用 ProcessBuilder 并把命令拆分为独立参数,如 `new ProcessBuilder("ls", "-al", targetDirectory)`;同时请硬编码或白名单实际命令,防止攻击者运行任意命令。

zh-Hant

檢測到使用者輸入進入執行系統命令的方法,可能形成命令注入漏洞,攻擊者可在伺服器上注入任意命令、下載惡意軟體或竊取資料。請改用 ProcessBuilder 並把命令拆分為獨立參數,如 `new ProcessBuilder("ls", "-al", targetDirectory)`;同時請硬編碼或白名單實際命令,防止攻擊者執行任意命令。

CWE 知识卡

语言名称修复建议
deOS-Command-InjectionVerketten Sie keine Shell-Befehle; verwenden Sie parametrisierte APIs (execFile/spawn mit Array-Argumenten) oder Bibliotheksfunktionen statt einer Shell, prüfen Sie ggf. per Allowlist und führen Sie mit minimalen Rechten aus.
en——
frNeutralisation inappropriée des éléments spéciaux dans une commande OS (injection de commande)Interdisez la concaténation de commandes shell ; utilisez des API paramétrées (execFile/spawn avec arguments en tableau) ou des fonctions de bibliothèque à la place du shell, avec validation en liste blanche si nécessaire et exécution aux moindres privilèges.
jaOS コマンドインジェクションシェルコマンドを文字列連結で構築しないでください。シェルの代わりにパラメーター化 API(execFile/spawn による配列渡し)やライブラリ関数を使用し、必要に応じてホワイトリスト検証を行い、最小権限で実行してください。
koOS 명령 주입shell 명령어를 이어 붙이지 마십시오. shell 대신 매개변수화된 API(execFile/spawn 배열 인자 전달)나 라이브러리 함수를 사용하고, 필요한 경우 허용 목록 검증을 수행한 뒤 최소 권한으로 실행하십시오.
ruИнъекция команд ОСНе склеивайте команды shell; используйте параметризованные API (execFile/spawn с массивом аргументов) или библиотечные функции вместо shell, при необходимости — белый список и минимальные права.
zhOS 命令注入禁止拼接 shell 命令;使用参数化 API(execFile/spawn 数组传参)或库函数替代 shell,必要时做白名单校验并以最小权限执行。
zh-HantOS 命令注入禁止串接 shell 命令;使用參數化 API(execFile/spawn 陣列傳參)或程式庫函式替代 shell,必要時做白名單驗證並以最小權限執行。

OWASP

A01:2017 - InjectionA03:2021 - Injection

元数据

likelihoodHIGH
impactHIGH
confidenceHIGH

修复字段

fix无
fix-regex无

上游规则源

github.com/opengrep/opengrep-rules/tree/main/java/spring/security/injection/tainted-system-command.yaml