—
PYSEC-2022-42993
Details
GuardDog is a CLI tool to identify malicious PyPI packages. Versions prior to v0.1.8 are vulnerable to arbitrary file write when scanning a specially-crafted remote PyPI package. Extracting files using shutil.unpack_archive() from a potentially malicious tarball without validating that the destination file path is within the intended destination directory can cause files outside the destination directory to be overwritten. This issue is patched in version 0.1.8. Potential workarounds include using a safer module, like zipfile, and validating the location of the extracted files and discarding those with malicious paths.
Are you affected?
Enter the version of the package you're using.
Affected packages
PyPI / guarddog
Introduced in:
0 Fixed in: 37c7d0767ba28f4df46117d478f97652594c491c Fix
pip install --upgrade 'guarddog>=37c7d0767ba28f4df46117d478f97652594c491c' References
- https://github.com/DataDog/guarddog/blob/a1d064ceb09d39bb28deb6972bc0a278756ea91f/guarddog/scanners/package_scanner.py#L153..158 [WEB]
- https://github.com/DataDog/guarddog/security/advisories/GHSA-78m5-jpmf-ch7v [ADVISORY]
- https://github.com/DataDog/guarddog/commit/37c7d0767ba28f4df46117d478f97652594c491c [FIX]