gitlab.find_sec_bugs.COMMAND_INJECTION-1
unknown
Download Count*
License
The highlighted API is used to execute a system command. If unfiltered input is passed to this API, it can lead to arbitrary command execution.
Run Locally
Run in CI
Defintion
rules:
- id: find_sec_bugs.COMMAND_INJECTION-1
pattern-either:
- patterns:
- pattern-inside: |
$FUNC(...,String $PARAM, ...) {
...
}
- pattern-either:
- pattern: (Runtime $R).exec($PARAM,...);
- patterns:
- pattern-either:
- pattern: |
$CMDARR = new String[]{"$SHELL",...,$PARAM,...};
...
(Runtime $R).exec($CMDARR,...);
- pattern: (Runtime $R).exec(new String[]{"$SHELL",...,$PARAM,...}, ...);
- pattern: (Runtime $R).exec(java.util.String.format("...", ...,$PARAM,...));
- pattern: (Runtime $R).exec((String $A) + (String $B));
- metavariable-regex:
metavariable: $SHELL
regex: (/.../)?(sh|bash|ksh|csh|tcsh|zsh)$
- pattern-not: (Runtime $R).exec("...","...","...",...);
- pattern-not: |
(Runtime $R).exec(new String[]{"...","...","...",...},...);
- patterns:
- pattern-inside: |
$FUNC(...,String $PARAM, ...) {
...
}
- pattern-either:
- pattern: (ProcessBuilder $PB).command($PARAM,...);
- patterns:
- pattern-either:
- pattern: (ProcessBuilder $PB).command("$SHELL",...,$PARAM,...);
- pattern: >
$CMDARR =
java.util.Arrays.asList("$SHELL",...,$PARAM,...);
...
(ProcessBuilder $PB).command($CMDARR,...);
- pattern: (ProcessBuilder
$PB).command(java.util.Arrays.asList("$SHELL",...,$PARAM,...),...);
- pattern: (ProcessBuilder $PB).command(java.util.String.format("...",
...,$PARAM,...));
- pattern: (ProcessBuilder $PB).command((String $A) + (String $B));
- metavariable-regex:
metavariable: $SHELL
regex: (/.../)?(sh|bash|ksh|csh|tcsh|zsh)$
- pattern-not: (ProcessBuilder $PB).command("...","...","...",...);
- pattern-not: >
(ProcessBuilder
$PB).command(java.util.Arrays.asList("...","...","...",...));
message: >
The highlighted API is used to execute a system command. If unfiltered
input is passed to this
API, it can lead to arbitrary command execution.
languages:
- java
severity: WARNING
metadata:
category: security
cwe: "CWE-78: Improper Neutralization of Special Elements used in an OS Command
('OS Command Injection')"
technology:
- java
primary_identifier: find_sec_bugs.COMMAND_INJECTION-1
secondary_identifiers:
- name: Find Security Bugs-COMMAND_INJECTION
type: find_sec_bugs_type
value: COMMAND_INJECTION
license: MIT
Short Link: https://sg.run/WDoz