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.5ALTAPROBABILIDAD 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
Qué hacer
- Verificá si usás GitPython y en qué versión: el rango afectado figura arriba.
- Actualizá a la versión corregida que indique el fabricante en su aviso (ver referencias) o aplicá la mitigación que publique.
- 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
- github.com/gitpython-developers/GitPython/security/advisories/GHSA-83vg-56qc-22m7X_REFSOURCE_CONFIRM
- github.com/gitpython-developers/GitPython/pull/2264X_REFSOURCE_MISC
- github.com/gitpython-developers/GitPython/commit/97eadb888d2f99567e3113f4e455be4ca128f697X_REFSOURCE_MISC
- github.com/gitpython-developers/GitPython/releases/tag/3.2.1X_REFSOURCE_MISC
Historial de la alerta
- 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.