Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en la credencial de _some_ en programas externos de "credential helper" en Git (CVE-2020-11008)

Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-522 Credenciales insuficientemente protegidas
Fecha de publicación:
21/04/2020
Última modificación:
07/11/2023

Descripción

Las versiones afectadas de Git tienen una vulnerabilidad por la que Git puede ser engañado para que envíe credenciales privadas a un host controlado por un atacante. Este fallo es similar al CVE-2020-5260 (GHSA-qm7j-c969-7j4q). La corrección de ese bug todavía deja la puerta abierta para una explotación donde se filtra la credencial de _some_ (pero el atacante no puede controlar cuál). Git utiliza programas externos de "credential helper" para almacenar y recuperar contraseñas u otras credenciales desde el almacenamiento seguro proporcionado por el sistema operativo. Las URLs especialmente diseñadas que se consideran ilegales a partir de las versiones de Git recientemente publicadas pueden hacer que Git envíe un patrón "blank" a los asistentes, faltando los campos hostname y protocol. Muchos asistentes interpretarán esto como una coincidencia con la URL _any_, y devolverán alguna contraseña almacenada sin especificar, filtrando la contraseña hacia el servidor de un atacante. La vulnerabilidad puede ser desencadenada alimentando una URL maliciosa a "git clone". Sin embargo, las URLs afectadas parecen bastante sospechosas; el vector probable sería por medio de sistemas que clonan automáticamente las URLs no visibles para el usuario, tales como los submódulos de Git, o sistemas de paquetes construidos alrededor de Git. La raíz del problema está en el propio Git, que no debería estar alimentando con entradas en blanco a los asistentes. Sin embargo, la capacidad de explotar la vulnerabilidad en la práctica depende de los asistentes que se utilicen. Los asistentes con credenciales que se sabe que desencadenan la vulnerabilidad: - El asistente "store" de Git - El asistente "cache" de Git - El asistente "osxkeychain" que se incluye en los asistentes de Credenciales del directorio "contrib" de Git que se conoce que son seguros incluso con versiones vulnerables de Git: - Cualquier asistente de Git Credential Manager para Windows que no esté en esta lista, se debe asumir que desencadena la vulnerabilidad.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:git-scm:git:*:*:*:*:*:*:*:* 2.17.5 (excluyendo)
cpe:2.3:a:git-scm:git:*:*:*:*:*:*:*:* 2.18.0 (incluyendo) 2.18.4 (excluyendo)
cpe:2.3:a:git-scm:git:*:*:*:*:*:*:*:* 2.19.0 (incluyendo) 2.19.5 (excluyendo)
cpe:2.3:a:git-scm:git:*:*:*:*:*:*:*:* 2.20.0 (incluyendo) 2.20.4 (excluyendo)
cpe:2.3:a:git-scm:git:*:*:*:*:*:*:*:* 2.21.0 (incluyendo) 2.21.3 (excluyendo)
cpe:2.3:a:git-scm:git:*:*:*:*:*:*:*:* 2.22.0 (incluyendo) 2.22.4 (excluyendo)
cpe:2.3:a:git-scm:git:*:*:*:*:*:*:*:* 2.23.0 (incluyendo) 2.23.3 (excluyendo)
cpe:2.3:a:git-scm:git:*:*:*:*:*:*:*:* 2.24.0 (incluyendo) 2.24.3 (excluyendo)
cpe:2.3:a:git-scm:git:*:*:*:*:*:*:*:* 2.25.0 (incluyendo) 2.25.4 (excluyendo)
cpe:2.3:a:git-scm:git:*:*:*:*:*:*:*:* 2.26.0 (incluyendo) 2.26.2 (excluyendo)
cpe:2.3:o:canonical:ubuntu_linux:16.04:*:*:*:lts:*:*:*
cpe:2.3:o:canonical:ubuntu_linux:18.04:*:*:*:lts:*:*:*
cpe:2.3:o:canonical:ubuntu_linux:19.10:*:*:*:*:*:*:*
cpe:2.3:o:debian:debian_linux:8.0:*:*:*:*:*:*:*
cpe:2.3:o:fedoraproject:fedora:31:*:*:*:*:*:*:*