cargo package report

Is decompress safe?

1 known vulnerability, worst severity HIGH.

// reach

0 direct dependencies

none carry a known advisory

    0 packages depend on it

    an advisory here reaches each of them

      Create a free accountfor every dependency path, dependent and what to upgrade
      // ai model usage

      Tracked for PyPI packages. HuggingFace models declare Python dependencies, so cargo packages are not covered.


      cvss
      0.0
      high

      severity band, no base score published

      epss
      not scored

      chance of exploitation in 30 days

      xyz score
      0.0
      low

      CyberXYZ composite out of 10

      fig. 01 — RUSTSEC-2026-0328, the advisory selected below

      // 1 advisories

      RUSTSEC-2026-0328

      HIGH

      The tar-family extractors in decompress (.tar, .tar.gz, .tar.xz, .tar.bz2, .tar.zst) build each output path from the raw archive entry path and write to it with no traversal check, so a malicious archive can write files outside the destination directory, a "tar-slip" / zip-slip path traversal (CWE-22 / CWE-23).

      In src/decompressors/tarcommon.rs (tarextract):

      let filepath = entry.path()?;                                    // raw entry path
      let filepath = filepath.components().skip(opts.strip).collect::();
                                           // strips leading components only — keeps `..`
      let outpath = to.join(filepath);
      // ...
      let mut outfile = fs::File::create(&outpath)?;                   // writes anywhere

      .components().skip(opts.strip) removes a fixed number of leading path components but leaves interior .. components intact so an entry named e.g. ../../../../home//.bashrc, or an absolute path, resolves outside to. This affects all platforms.


      Checked 2026-10-06 at 02:00 UTC. The most recent advisory here was published 2026-09-19. Updated continuously from NVD, GHSA, OSV and CNA feeds.

      Think a verdict here is wrong? Tell us — we respond within 2 business days.