CLI Baseline B04 - zip-slip / archive extraction traversal
cli-baseline-b04-archive-traversal is a high severity check in the
cli-baseline category, written in shell.
Its source is templates/cli-baseline/cli-baseline-b04-archive-traversal.sh in
cert-x-gen-templates.
What it checks
Section titled “What it checks”Feeds an archive whose entries carry ../ components, an absolute path, and a symlink pointing outside. If a file materialises outside the extraction directory, member names are being trusted.
Header
Section titled “Header”| Field | Value |
|---|---|
| Id | cli-baseline-b04-archive-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, zip-slip, archive, cwe-22, cwe-409 |
| 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-b04-archive-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.

