{"api_version":"1","generated_at":"2026-04-23T09:53:02+00:00","cve":"CVE-2022-23530","urls":{"html":"https://cve.report/CVE-2022-23530","api":"https://cve.report/api/cve/CVE-2022-23530.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2022-23530","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2022-23530"},"summary":{"title":"CVE-2022-23530","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.","state":"PUBLIC","assigner":"security-advisories@github.com","published_at":"2022-12-16 23:15:00","updated_at":"2023-11-07 03:44:00"},"problem_types":["CWE-22"],"metrics":[],"references":[{"url":"https://github.com/DataDog/guarddog/commit/37c7d0767ba28f4df46117d478f97652594c491c","name":"https://github.com/DataDog/guarddog/commit/37c7d0767ba28f4df46117d478f97652594c491c","refsource":"MISC","tags":[],"title":"Securely extract PyPI .tar.gz archives (#102) · DataDog/guarddog@37c7d07 · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://github.com/DataDog/guarddog/security/advisories/GHSA-78m5-jpmf-ch7v","name":"https://github.com/DataDog/guarddog/security/advisories/GHSA-78m5-jpmf-ch7v","refsource":"MISC","tags":[],"title":"Arbitrary file write when scanning a specially-crafted remote PyPI package · Advisory · DataDog/guarddog · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://github.com/DataDog/guarddog/blob/a1d064ceb09d39bb28deb6972bc0a278756ea91f/guarddog/scanners/package_scanner.py#L153..158","name":"https://github.com/DataDog/guarddog/blob/a1d064ceb09d39bb28deb6972bc0a278756ea91f/guarddog/scanners/package_scanner.py#L153..158","refsource":"MISC","tags":[],"title":"guarddog/package_scanner.py at a1d064ceb09d39bb28deb6972bc0a278756ea91f · DataDog/guarddog · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://www.cve.org/CVERecord?id=CVE-2022-23530","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2022-23530","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[{"cve_year":"2022","cve_id":"23530","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"datadoghq","cpe5":"guarddog","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"python","cpe12":"*","cpe13":"*"}],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"data_version":"4.0","data_type":"CVE","data_format":"MITRE","CVE_data_meta":{"ID":"CVE-2022-23530","ASSIGNER":"security-advisories@github.com","STATE":"PUBLIC"},"description":{"description_data":[{"lang":"eng","value":"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."}]},"problemtype":{"problemtype_data":[{"description":[{"lang":"eng","value":"CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')","cweId":"CWE-22"}]}]},"affects":{"vendor":{"vendor_data":[{"vendor_name":"DataDog","product":{"product_data":[{"product_name":"guarddog","version":{"version_data":[{"version_value":"< 0.1.8","version_affected":"="}]}}]}}]}},"references":{"reference_data":[{"url":"https://github.com/DataDog/guarddog/security/advisories/GHSA-78m5-jpmf-ch7v","refsource":"MISC","name":"https://github.com/DataDog/guarddog/security/advisories/GHSA-78m5-jpmf-ch7v"},{"url":"https://github.com/DataDog/guarddog/commit/37c7d0767ba28f4df46117d478f97652594c491c","refsource":"MISC","name":"https://github.com/DataDog/guarddog/commit/37c7d0767ba28f4df46117d478f97652594c491c"},{"url":"https://github.com/DataDog/guarddog/blob/a1d064ceb09d39bb28deb6972bc0a278756ea91f/guarddog/scanners/package_scanner.py#L153..158","refsource":"MISC","name":"https://github.com/DataDog/guarddog/blob/a1d064ceb09d39bb28deb6972bc0a278756ea91f/guarddog/scanners/package_scanner.py#L153..158"}]},"source":{"advisory":"GHSA-78m5-jpmf-ch7v","discovery":"UNKNOWN"},"impact":{"cvss":[{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"LOW","baseScore":5.8,"baseSeverity":"MEDIUM","confidentialityImpact":"LOW","integrityImpact":"LOW","privilegesRequired":"NONE","scope":"CHANGED","userInteraction":"REQUIRED","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:L","version":"3.1"}]}},"nvd":{"publishedDate":"2022-12-16 23:15:00","lastModifiedDate":"2023-11-07 03:44:00","problem_types":["CWE-22"],"metrics":{"baseMetricV3":{"cvssV3":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"REQUIRED","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"HIGH","availabilityImpact":"NONE","baseScore":6.5,"baseSeverity":"MEDIUM"},"exploitabilityScore":2.8,"impactScore":3.6}},"configurations":{"CVE_data_version":"4.0","nodes":[{"operator":"OR","children":[],"cpe_match":[{"vulnerable":true,"cpe23Uri":"cpe:2.3:a:datadoghq:guarddog:*:*:*:*:*:python:*:*","versionEndExcluding":"0.1.8","cpe_name":[]}]}]}},"legacy_mitre":{"record":{"CveYear":"2022","CveId":"23530","Ordinal":"226408","Title":"CVE-2022-23530","CVE":"CVE-2022-23530","Year":"2022"},"notes":[{"CveYear":"2022","CveId":"23530","Ordinal":"1","NoteData":"** RESERVED ** This candidate has been reserved by an organization or individual that will use it when announcing a new security problem. When the candidate has been publicized, the details for this candidate will be provided.","Type":"Description","Title":null}]}}}