CLI Baseline B02 - OS command injection through an argument
cli-baseline-b02-command-injection is a critical severity check in the
cli-baseline category, written in shell.
Its source is templates/cli-baseline/cli-baseline-b02-command-injection.sh in
cert-x-gen-templates.
What it checks
Section titled “What it checks”Sends shell metacharacters bound to a benign, observable side effect through every argument that plausibly reaches a shell. If the side effect happens, the argument was interpreted by a shell rather than passed as data.
Header
Section titled “Header”| Field | Value |
|---|---|
| Id | cli-baseline-b02-command-injection |
| Severity | critical |
| Language | shell |
| Category | cli-baseline |
| Author | CERT-X-GEN / CLI Security Baseline |
| Template version | not recorded |
| Confidence | not recorded |
| CVSS | not recorded |
| Weakness | CWE-78 |
| Tags | cli, baseline, command-injection, cwe-78 |
| Target kind | cli |
| Oracle | property |
The file declares @allow_nonzero_exit as well. Those are not tabled above; read the
source for what they carry.
Run it
Section titled “Run it”To see what the copy on your machine says about itself, and to confirm it is installed at all:
cxg template info cli-baseline-b02-command-injectionThe id it prints is the one to pass anywhere a template is selected. See
cxg template for the rest of
the subcommand, Scan a target for running
a scan, and
A match is not a finding for how
to read what comes back.
Related
Section titled “Related”- Template catalog is the whole corpus.
- cli-baseline is the rest of this category.
- Templates by weakness class groups checks by the defect they look for.
- Contribute a template is the route from a check you needed and could not find to a merged one.

