p PatchFirst

CVE-2026-100689

CVE-2026-100689 · GitPython before 3.1.62 Path Traversal via gitmodules path

Esta página presenta datos de fuentes públicas de vulnerabilidades. Consulta el aviso original antes de actualizar.

GitPython before 3.1.62 does not validate the `path` field read from an untrusted .gitmodules file when updating submodules. While a prior fix (GHSA-hmq2-w58f-27jc) added Submodule._validated_name() to constrain the `name` field, and GitPython's own containment guard Submodule._to_relative_path() is applied in add() and move(), Submodule.update() derives the absolute checkout location from the raw `path` value without that guard. A .gitmodules entry containing directory traversal components (e.g., path = ../../../tmp/escaped) can therefore cause directories to be created via os.makedirs() outside the repository working tree, populated from the submodule URL on the clone path, and removed via shutil.rmtree() when force_remove is used. Exploitation requires an application flow that updates submodules at a non-HEAD commit (such as a historical-commit API); the common clone-then-update flow re-derives the path from a canonical tree lookup and is not affected. The issue is fixed in GitPython 3.1.62.

CVSS 8.7 · Alta · EPSS 0,4% · Corrección disponible

Publicación
Actualización

Pila tecnológica: system · python

Productos y versiones afectados

  • gitpython

    Versiones
    • ≥ 0, < 3.1.62: Afectada (semver)
    • 3.1.62: No afectada (semver)

    Actualiza a 3.1.62

  • python-git Debian:12

    Versiones
    • 3.1.30-1
    • 3.1.30-1+deb12u2
    • 3.1.36-1
    • 3.1.37-1
    • 3.1.37-2
    • 3.1.37-3
    • 3.1.44-1
    • 3.1.45-1
    • 3.1.46-1
    • 3.1.50-1
    • 3.1.61-1
    • 3.1.62-1
    • 3.1.62-2
    Intervalos de versiones afectados
    • ECOSYSTEM: (−∞, +∞)

    Sin corrección publicada

  • python-git Debian:13

    Versiones
    • 3.1.44-1
    • 3.1.45-1
    • 3.1.46-1
    • 3.1.50-1
    • 3.1.61-1
    • 3.1.62-1
    • 3.1.62-2
    Intervalos de versiones afectados
    • ECOSYSTEM: (−∞, +∞)

    Sin corrección publicada

  • python-git Debian:14

    Versiones
    • 3.1.44-1
    • 3.1.45-1
    • 3.1.46-1
    • 3.1.50-1
    • 3.1.61-1
    Intervalos de versiones afectados
    • ECOSYSTEM: < 3.1.62-1

    Actualiza a 3.1.62-1

  • gitpython PyPI

    Versiones
    • 0.1.7
    • 0.2.0-beta1
    • 0.3.0-beta1
    • 0.3.0-beta2
    • 0.3.1-beta2
    • 0.3.2
    • 0.3.2.1
    • 0.3.2.RC1
    • 0.3.3
    • 0.3.4
    • 0.3.5
    • 0.3.6
    • 0.3.7
    • 1.0.0
    • 1.0.1
    • 1.0.2
    • 2.0.0
    • 2.0.1
    • 2.0.2
    • 2.0.3
    • 2.0.4
    • 2.0.5
    • 2.0.6
    • 2.0.7
    • 2.0.8
    • 2.0.9
    • 2.0.9.dev0
    • 2.0.9.dev1
    • 2.1.0
    • 2.1.1
    • 2.1.10
    • 2.1.11
    • 2.1.12
    • 2.1.13
    • 2.1.14
    • 2.1.15
    • 2.1.2
    • 2.1.3
    • 2.1.4
    • 2.1.5
    • 2.1.6
    • 2.1.7
    • 2.1.8
    • 2.1.9
    • 3.0.0
    • 3.0.1
    • 3.0.2
    • 3.0.3
    • 3.0.4
    • 3.0.5
    • 3.0.6
    • 3.0.7
    • 3.0.8
    • 3.0.9
    • 3.1.0
    • 3.1.1
    • 3.1.10
    • 3.1.11
    • 3.1.12
    • 3.1.13
    • 3.1.14
    • 3.1.15
    • 3.1.16
    • 3.1.17
    • 3.1.18
    • 3.1.19
    • 3.1.2
    • 3.1.20
    • 3.1.22
    • 3.1.23
    • 3.1.24
    • 3.1.25
    • 3.1.26
    • 3.1.27
    • 3.1.28
    • 3.1.29
    • 3.1.3
    • 3.1.30
    • 3.1.31
    • 3.1.32
    • 3.1.33
    • 3.1.34
    • 3.1.35
    • 3.1.36
    • 3.1.37
    • 3.1.38
    • 3.1.4
    • 3.1.40
    • 3.1.41
    • 3.1.42
    • 3.1.43
    • 3.1.44
    • 3.1.45
    • 3.1.46
    • 3.1.47
    • 3.1.48
    • 3.1.49
    • 3.1.5
    • 3.1.50
    • 3.1.51
    • 3.1.52
    • 3.1.53
    • 3.1.54
    • 3.1.55
    • 3.1.56
    • 3.1.57
    • 3.1.58
    • 3.1.59
    • 3.1.6
    • 3.1.60
    • 3.1.61
    • 3.1.7
    • 3.1.8
    • 3.1.9
    Intervalos de versiones afectados
    • ECOSYSTEM: < 3.1.62

    Actualiza a 3.1.62

  • python-git Ubuntu:Pro:14.04:LTS

    Versiones
    • 0.3.2~RC1-2
    • 0.3.2~RC1-3
    • 0.3.2~RC1-3ubuntu0.1~esm1
    • 0.3.2~RC1-3ubuntu0.1~esm2
    • 0.3.2~RC1-3ubuntu0.1~esm3
    Intervalos de versiones afectados
    • ECOSYSTEM: (−∞, +∞)

    Sin corrección publicada

  • python-git Ubuntu:Pro:16.04:LTS

    Versiones
    • 1.0.1+git137-gc8b8379-1
    • 1.0.1+git137-gc8b8379-2
    • 1.0.1+git137-gc8b8379-2.1
    • 1.0.1+git137-gc8b8379-2.1ubuntu0.1~esm1
    • 1.0.1+git137-gc8b8379-2.1ubuntu0.1~esm2
    • 1.0.1+git137-gc8b8379-2.1ubuntu0.1~esm4
    Intervalos de versiones afectados
    • ECOSYSTEM: (−∞, +∞)

    Sin corrección publicada

  • python-git Ubuntu:Pro:18.04:LTS

    Versiones
    • 2.1.5-1
    • 2.1.6-1
    • 2.1.7-1
    • 2.1.8-1
    • 2.1.8-1ubuntu0.1~esm1
    • 2.1.8-1ubuntu0.1~esm2
    • 2.1.8-1ubuntu0.1~esm4
    Intervalos de versiones afectados
    • ECOSYSTEM: (−∞, +∞)

    Sin corrección publicada

  • python-git Ubuntu:Pro:20.04:LTS

    Versiones
    • 2.1.11-1
    • 3.0.4-1
    • 3.0.5-1
    • 3.0.7-1
    • 3.0.7-1ubuntu0.1~esm1
    • 3.0.7-1ubuntu0.1~esm2
    • 3.0.7-1ubuntu0.1~esm4
    Intervalos de versiones afectados
    • ECOSYSTEM: (−∞, +∞)

    Sin corrección publicada

  • python-git Ubuntu:Pro:22.04:LTS

    Versiones
    • 3.1.14-1
    • 3.1.23-1
    • 3.1.24-1
    • 3.1.24-1ubuntu0.1~esm1
    • 3.1.24-1ubuntu0.1~esm2
    • 3.1.24-1ubuntu0.1~esm3
    Intervalos de versiones afectados
    • ECOSYSTEM: (−∞, +∞)

    Sin corrección publicada

  • python-git Ubuntu:Pro:24.04:LTS

    Versiones
    • 3.1.30-1
    • 3.1.37-1
    • 3.1.37-3
    • 3.1.37-3ubuntu0.1~esm2
    Intervalos de versiones afectados
    • ECOSYSTEM: (−∞, +∞)

    Sin corrección publicada

  • python-git Ubuntu:26.10

    Versiones
    • 3.1.46-1
    • 3.1.50-1
    • 3.1.61-1
    Intervalos de versiones afectados
    • ECOSYSTEM: (−∞, +∞)

    Sin corrección publicada

  • python-git Ubuntu:Pro:26.04:LTS

    Versiones
    • 3.1.44-1
    • 3.1.45-1
    • 3.1.46-1
    • 3.1.46-1ubuntu0.1~esm1
    Intervalos de versiones afectados
    • ECOSYSTEM: (−∞, +∞)

    Sin corrección publicada

Fuentes originales

Comprueba tu servidor →