Skip to content
Heist/ feed
Back to feed
Medium

Arbitrary file write when scanning a specially-crafted local PyPI package

Type: advisorySources: OSV

GuardDog is a CLI tool to identify malicious PyPI packages. Versions prior to 0.1.5 are vulnerable to Relative Path Traversal when scanning a specially-crafted local PyPI package. Running GuardDog against a specially-crafted package can allow an attacker to write an arbitrary file on the machine where GuardDog is executed due to a path traversal vulnerability when extracting the .tar.gz file of the package being scanned, which exists by design in the tarfile.TarFile.extractall function. This issue is patched in version 0.1.5.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2022-23531
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 08:21 UTC · Revision 1

Source evidence

Arbitrary file write when scanning a specially-crafted local PyPI package

core-osv · Original source

Published 16 Dec 2022, 23:41 UTC

GuardDog is a CLI tool to identify malicious PyPI packages. Versions prior to 0.1.5 are vulnerable to Relative Path Traversal when scanning a specially-crafted local PyPI package. Running GuardDog against a specially-crafted package can allow an attacker to write an arbitrary file on the machine where GuardDog is executed due to a path traversal vulnerability when extracting the .tar.gz file of the package being scanned, which exists by design in the tarfile.TarFile.extractall function. This issue is patched in version 0.1.5.

osv:CVE-2022-23531
Complete source record
{
  "id": "b7f11caf559a9a78896fe24d91f310cff0756fd5d4aac488256996a76e8ac0c1",
  "url": "https://osv.dev/vulnerability/CVE-2022-23531",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Arbitrary file write when scanning a specially-crafted local PyPI package",
    "summary": "GuardDog is a CLI tool to identify malicious PyPI packages. Versions prior to 0.1.5 are vulnerable to Relative Path Traversal when scanning a specially-crafted local PyPI package. Running GuardDog against a specially-crafted package can allow an attacker to write an arbitrary file on the machine where GuardDog is executed due to a path traversal vulnerability when extracting the .tar.gz file of the package being scanned, which exists by design in the tarfile.TarFile.extractall function. This issue is patched in version 0.1.5.",
    "evidence": "osv:CVE-2022-23531",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2022-23531",
      "aliases": [
        "CVE-2022-23531",
        "GHSA-rp2v-v467-q9vq",
        "PYSEC-2022-42994"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:L"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/datadog/guarddog",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "98af5c8c1e9c15fa888c900252e76116b0ec25d1"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "0.1.5"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "98af5c8c1e9c15fa888c900252e76116b0ec25d1"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v0.1.5"
                  },
                  {
                    "cpe": "cpe:2.3:a:datadoghq:guarddog:*:*:*:*:*:python:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "0.1.5"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v0.1.4",
            "v0.1.3",
            "v0.1.2",
            "v0.1.1",
            "v0.1.0",
            "v0.0.3",
            "v0.0.2",
            "v0.0.1"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-23531.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:27.442002210Z",
      "provider": "osv",
      "references": [
        "https://github.com/DataDog/guarddog/pull/89/commits/a56aff58264cb6b7855d71b00dc10c39a5dbd306",
        "https://github.com/DataDog/guarddog/releases/tag/v0.1.5",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/23xxx/CVE-2022-23531.json",
        "https://github.com/DataDog/guarddog/security/advisories/GHSA-rp2v-v467-q9vq",
        "https://nvd.nist.gov/vuln/detail/CVE-2022-23531"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-23"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/23xxx/CVE-2022-23531.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2022-23531",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 493761,
  "published_at": "2022-12-16T23:41:15.078+00:00"
}