Actualización de Git corrigiendo 8 vulnerabilidades

Publicado lanzamientos de corrección del sistema de control de versiones distribuido Git 2.24.1, 2.23.1, 2.22.2, 2.21.1, 2.20.2, 2.19.3, 2.18.2, 2.17.3, 2.16.6, 2.15.4 y 2.14.6, en los que se han solucionado vulnerabilidades que permiten a un atacante sobrescribir rutas arbitrarias en el sistema de archivos, ejecutar código de manera remota o sobrescribir archivos en el directorio '.git/'. La mayoría de los problemas fueron detectados por el personal
del Centro de Respuesta de Seguridad de Microsoft, cinco de las ocho vulnerabilidades son específicas de la plataforma Windows.

  • CVE-2019-1348 — comando en línea de flujo 'feature export-marks=path'permite escribir marcas en directorios arbitrarios, lo que podría utilizarse para sobrescribir rutas arbitrarias en el FS al ejecutar la operación 'git fast-import' con entradas no verificadas.
  • CVE-2019-1350 — escape incorrecto de argumentos de la línea de comandos podría haber llevado a la ejecución remota del código del atacante al clonar recursivamente utilizando la URL ssh://. En particular, el escape de argumentos que terminan con una barra invertida (por ejemplo, 'test \') no se procesaba correctamente. En este caso, al rodear el argumento con comillas dobles, la última comilla quedaba escapada, lo que permitía sustituir sus propias opciones en la línea de comandos.
  • CVE-2019-1349 — al clonar recursivamente submódulos ('clone --recurse-submodules') en un entorno Windows bajo ciertas condiciones se podría iniciar el uso de un directorio git dos veces (.git, git~1, git~2 y git~N en NTFS se reconoce como un solo directorio, pero esta situación solo se verificaba para git~1), lo que podría ser utilizado para escribir en el directorio '.git'. Para ejecutar su propio código, un atacante podría, por ejemplo, inyectar su script a través del manejador post-checkout en el archivo .git/config.
  • CVE-2019-1351 — el manejador de nombres de unidades en rutas de Windows al traducir rutas como «C:\» solo estaba diseñado para reemplazar identificadores de una sola letra en latín, pero no consideraba la posibilidad de crear unidades virtuales asignadas a través de «subst letra:ruta». Estas rutas se trataban no como absolutas, sino como rutas relativas, lo que permitía al clonar un repositorio malicioso organizar la escritura en un directorio arbitrario fuera del árbol de trabajo de directorios (por ejemplo, al usar números o caracteres unicode en el nombre de la unidad — «1:\what\the\hex.txt» o «ä:\tschibät.sch»).
  • CVE-2019-1352 — al trabajar en la plataforma Windows, la aplicación de flujos de datos alternativos en NTFS, creando a través de la adición del atributo «:stream-name:stream-type» al nombre del archivo, permitía sobreescribir archivos en el directorio «.git/» al clonar un repositorio malicioso. Por ejemplo, el nombre «.git::$INDEX_ALLOCATION» en NTFS se trataba como un enlace válido al directorio «.git».
  • CVE-2019-1353 — al usar Git en el entorno WSL (Windows Subsystem for Linux) al acceder al directorio de trabajo no se aplicaba protección contra la manipulación de nombres en NTFS (había posibles ataques a través de la traducción de nombres FAT, por ejemplo, se podía acceder a «.git» a través del directorio «git~1»).
  • CVE-2019-1354 —
    la posibilidad escritura en el directorio «.git/» en la plataforma Windows al clonar repositorios maliciosos que contenían archivos con una barra invertida en el nombre (por ejemplo, «a\b»), que es permitido en Unix/Linux, pero se interpreta como parte de la ruta en Windows.
  • CVE-2019-1387 — la verificación insuficiente de los nombres de submódulos podría ser utilizada para organizar ataques dirigidos, que al clonar de forma recursiva potencialmente podrían llevar a la ejecución de código del atacante. Git no prohibía crear un directorio de submódulo dentro del directorio de otro submódulo, lo que en la mayoría de los casos solo podría llevar a la confusión, pero potencialmente no excluye la sobrescritura del contenido de otro módulo en el proceso de clonación recursiva (por ejemplo, los directorios de submódulos «hippo» y «hippo/hooks» se colocan como «.git/modules/hippo/» y «.git/modules/hippo/hooks/», y el directorio hooks en hippo puede usarse por separado para alojar procesadores ejecutables.

Se recomienda a los usuarios de Windows actualizar urgentemente su versión de Git, y abstenerse de clonar repositorios no verificados hasta que se complete la actualización. Si no es posible actualizar Git de inmediato, para reducir el riesgo de ataque se recomienda no ejecutar "git clone --recurse-submodules" y "git submodule update" con repositorios no verificados, no usar "git fast-import" con flujos de entrada no verificados y no clonar repositorios en secciones basadas en NTFS.

Para una mayor protección, en las nuevas versiones también se prohíbe el uso de construcciones en .gitmodules en la forma "submodule.{name}.update=!command". Para las distribuciones, puede seguir la publicación de actualizaciones de paquetes en las páginas. Debian,Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, ALT, FreeBSD.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster