CLI Baseline B03 - path traversal in a file-naming argument
cli-baseline-b03-path-traversal is a high severity check in the
cli-baseline category, written in shell.
Its source is templates/cli-baseline/cli-baseline-b03-path-traversal.sh in
cert-x-gen-templates.
What it checks
Section titled “What it checks”Sends relative and absolute paths in an argument the target uses to name a file inside a root it owns. If the bytes of a file outside that root come back on stdout, the root is not enforced.
Header
Section titled “Header”| Field | Value |
|---|---|
| Id | cli-baseline-b03-path-traversal |
| Severity | high |
| Language | shell |
| Category | cli-baseline |
| Author | CERT-X-GEN / CLI Security Baseline |
| Template version | not recorded |
| Confidence | not recorded |
| CVSS | not recorded |
| Weakness | CWE-22 |
| Tags | cli, baseline, path-traversal, cwe-22 |
| 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-b03-path-traversalThe 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.

