Saltar al contenido
DUPIN
ALERTAS · EN VIVO
Contacto

VULNERABILIDAD

CVE-2026-114145 Ejecución remota de código en GitPython por validación tardía de la ruta .git de un submódulo

En GitPython anterior a 3.2.1, create_submodule() en git/objects/submodule/base.py acepta una ruta de submódulo influida por el atacante, como .git/hooks, e invoca _clone_repo() antes de rechazar de forma segura el destino. En 3.1.x la llamada tiene éxito silenciosamente y en 3.2.0 y posteriores la verificación en git/index/base.py lanza ValueError solo después de que el clon escribió en disco, sin eliminar el archivo plantado. Un submódulo controlado por el atacante puede así colocar un hook post-checkout…

Alerta de Nureq Monitor

Detectada 21 OCT · 18:57

CVSS 3.1

7.5ALTA

PROBABILIDAD DE EXPLOTACIÓN (EPSS)

0,3 % PERCENTIL 17

EXPLOTACIÓN ACTIVA

No confirmada

EXPLOIT PÚBLICO

No conocido

Qué es CVE-2026-114145

En GitPython anterior a 3.2.1, create_submodule() en git/objects/submodule/base.py acepta una ruta de submódulo influida por el atacante, como .git/hooks, e invoca _clone_repo() antes de rechazar de forma segura el destino. En 3.1.x la llamada tiene éxito silenciosamente y en 3.2.0 y posteriores la verificación en git/index/base.py lanza ValueError solo después de que el clon escribió en disco, sin eliminar el archivo plantado. Un submódulo controlado por el atacante puede así colocar un hook post-checkout…

Productos y versiones afectadas

  • gitpython-developers GitPython

    • < 3.2.1

Qué hacer

  1. Verificá si usás GitPython y en qué versión: el rango afectado figura arriba.
  2. Actualizá a la versión corregida que indique el fabricante en su aviso (ver referencias) o aplicá la mitigación que publique.
  3. Revisá registros y accesos de los sistemas expuestos para descartar que se haya aprovechado antes de corregir.

Calculadora CVSS

CVSS 3.1 · 7.5 ALTA

CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H

VECTOR DE ATAQUE (AV)
Red
COMPLEJIDAD DEL ATAQUE (AC)
Alta
PRIVILEGIOS REQUERIDOS (PR)
Ninguno
INTERACCIÓN DEL USUARIO (UI)
Requerida
ALCANCE (S)
Sin cambio
CONFIDENCIALIDAD (C)
Alta
INTEGRIDAD (I)
Alta
DISPONIBILIDAD (A)
Alta

Abrir la calculadora completa

Descripción original

GitPython is a python library used to interact with Git repositories. Prior to 3.2.1, create_submodule() in git/objects/submodule/base.py accepts an attacker-influenced submodule path such as .git/hooks and invokes _clone_repo() before safely rejecting the destination. In 3.1.x, _validate_repo_path() does not exist and the call succeeds silently, while in 3.2.0 and later affected revisions the check in git/index/base.py raises ValueError only after the clone has written to disk and does not remove the planted file. An attacker-controlled submodule can therefore place an executable post-checkout hook that a later Git operation executes. Exploitation requires an application to accept an untrusted submodule path and a clone destination such as .git/hooks that is empty enough for Git to clone into it, which commonly means that default sample hooks are absent. This issue is fixed in version 3.2.1.

Referencias

Historial de la alerta

  1. VULNERABILIDAD Nueva vulnerabilidad detectada.

CÓMO SE HIZOResumen traducido automáticamente al español a partir de la descripción original. Ante dudas, la descripción original y las referencias del fabricante son la fuente de verdad. Cómo funciona.