Skip to content
Heist/ feed
Back to feed
High

GitPython before 3.1.58 Path Traversal via .gitmodules Submodule Name

Type: advisorySources: OSV

GitPython before 3.1.58 fails to validate submodule names from .gitmodules files, allowing attackers to create Git repositories at arbitrary filesystem paths outside the intended clone directory. Attackers can craft malicious repositories with traversal sequences in submodule names that GitPython processes during submodule initialization, creating attacker-controlled Git repositories at escaped filesystem locations.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-76222
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 13:12 UTC · Revision 1

Source evidence

GitPython before 3.1.58 Path Traversal via .gitmodules Submodule Name

core-osv · Original source

Published 19 Aug 2026, 14:02 UTC

GitPython before 3.1.58 fails to validate submodule names from .gitmodules files, allowing attackers to create Git repositories at arbitrary filesystem paths outside the intended clone directory. Attackers can craft malicious repositories with traversal sequences in submodule names that GitPython processes during submodule initialization, creating attacker-controlled Git repositories at escaped filesystem locations.

osv:CVE-2026-76222
Complete source record
{
  "id": "33234a1e2bc1df790db7c89be6fac6372347a196d5cccc4d9311cd324e56d6f4",
  "url": "https://osv.dev/vulnerability/CVE-2026-76222",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "GitPython before 3.1.58 Path Traversal via .gitmodules Submodule Name",
    "summary": "GitPython before 3.1.58 fails to validate submodule names from .gitmodules files, allowing attackers to create Git repositories at arbitrary filesystem paths outside the intended clone directory. Attackers can craft malicious repositories with traversal sequences in submodule names that GitPython processes during submodule initialization, creating attacker-controlled Git repositories at escaped filesystem locations.",
    "evidence": "osv:CVE-2026-76222",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-76222",
      "aliases": [
        "CVE-2026-76222",
        "GHSA-hmq2-w58f-27jc",
        "PYSEC-2026-3784"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:H/VA:L/SC:N/SI:H/SA:L"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/gitpython-developers/gitpython",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "30be45d786e95023e23c616fec5cbabca861b44c"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "3.1.58"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "cpe": "cpe:2.3:a:gitpython_project:gitpython:*:*:*:*:*:python:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "3.1.58"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "3.1.57",
            "3.1.56",
            "3.1.55",
            "3.1.54",
            "3.1.53",
            "3.1.52",
            "3.1.51",
            "3.1.50",
            "3.1.49",
            "3.1.48",
            "3.1.47",
            "3.1.44",
            "3.1.43",
            "3.1.42",
            "3.1.41",
            "3.1.40",
            "3.1.38",
            "3.1.35",
            "3.1.34",
            "3.1.33",
            "3.1.32",
            "3.1.31",
            "3.1.30",
            "3.1.29",
            "3.1.28",
            "3.1.27",
            "3.1.26",
            "3.1.25",
            "3.1.24",
            "3.1.23",
            "3.1.22",
            "3.1.20",
            "3.1.19",
            "3.1.18",
            "3.1.17",
            "3.1.16",
            "3.1.13",
            "3.1.12",
            "3.1.11",
            "3.1.10",
            "3.1.9",
            "3.1.8",
            "3.1.7",
            "3.1.6",
            "3.1.5",
            "3.1.4",
            "3.1.3",
            "3.1.2",
            "3.1.1",
            "3.1.0",
            "3.0.9",
            "3.0.8",
            "3.0.7",
            "3.0.6",
            "3.0.5",
            "3.0.4",
            "3.0.3",
            "3.0.2",
            "3.0.1",
            "2.1.13",
            "3.0.0",
            "2.1.12",
            "2.1.11",
            "2.1.10",
            "2.1.9",
            "2.1.8",
            "2.1.6",
            "2.1.5",
            "2.1.4",
            "2.1.3",
            "2.1.2",
            "2.1.1",
            "2.1.0",
            "2.0.9",
            "winerr_show",
            "2.0.8",
            "2.0.7",
            "2.0.6",
            "2.0.5",
            "2.0.4",
            "2.0.3",
            "2.0.2",
            "2.0.1",
            "2.0.0",
            "0.3.2.1",
            "1.0.2",
            "0.3.7",
            "1.0.1",
            "1.0.0",
            "0.3.6",
            "0.3.5",
            "0.3.4",
            "0.3.3",
            "0.3.2",
            "0.3.2-RC1",
            "0.3.1-beta2",
            "0.3.1-beta1",
            "0.3.0-beta2",
            "0.3.0-beta1",
            "0.2.0-beta1",
            "0.1.6",
            "0.1.5",
            "0.1.4",
            "0.1.4-pre"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-76222.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:35.788892327Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/76xxx/CVE-2026-76222.json",
        "https://github.com/gitpython-developers/GitPython/security/advisories/GHSA-hmq2-w58f-27jc",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-76222",
        "https://www.vulncheck.com/advisories/gitpython-before-path-traversal-via-gitmodules-submodule-name"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-22"
        ],
        "cna_assigner": "VulnCheck",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/76xxx/CVE-2026-76222.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-76222",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 502902,
  "published_at": "2026-08-19T14:02:05.596+00:00"
}