Vulnerability · Published Dec 16, 2022 · Assigned by GitHub_M
CVE-2022-23530GuardDog vulnerable to arbitrary file write when scanning a specially-crafted remote PyPI package
Medium 5.8
In plain English
A medium-severity path traversal in guarddog from DataDog. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.8% (higher than 55% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
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.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| PyPI | guarddog | 0.1.8 | GHSA-78m5-jpmf-ch7v |
| PyPI | guarddog | 0.1.8 | PYSEC-2022-42993 |
Affected products (as reported)
Weakness: CWE-22 · Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:L
References
- https://github.com/DataDog/guarddog/security/advisories/GHSA-78m5-jpmf-ch7v x_refsource_CONFIRM
- https://github.com/DataDog/guarddog/commit/37c7d0767ba28f4df46117d478f97652594c491c x_refsource_MISC
- https://github.com/DataDog/guarddog/blob/a1d064ceb09d39bb28deb6972bc0a278756ea91f/guarddog/scanners/package_scanner.py#L153..158 x_refsource_MISC