Actualización de Git con 8 vulnerabilidades solucionadas

Publicado Lanzamientos correctivos del sistema de control de código fuente 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.62.24.1 .XNUMX, que solucionó vulnerabilidades que permitían a un atacante reescribir rutas arbitrarias en el sistema de archivos, organizar la ejecución remota de código o sobrescribir archivos en el directorio “.git/”. La mayoría de los problemas identificados por los empleados
Microsoft Security Response Center, cinco de las ocho vulnerabilidades son específicas de la plataforma Windows.

  • CVE-2019-1348 — comando de transmisión “feature export-marks=path”permite escriba etiquetas en directorios arbitrarios, que se pueden usar para sobrescribir rutas arbitrarias en el sistema de archivos al realizar una operación de "importación rápida de git" con datos de entrada no verificados.
  • CVE-2019-1350 - escape incorrecto de los argumentos de la línea de comando podría llevar a la ejecución remota del código del atacante durante la clonación recursiva utilizando la URL ssh://. En particular, los argumentos de escape que terminaban en una barra invertida (por ejemplo, "prueba \") se manejaban incorrectamente. En este caso, al formular un argumento entre comillas dobles, se omitió la última comilla, lo que permitió organizar la sustitución de sus opciones en la línea de comando.
  • CVE-2019-1349 — al clonar submódulos de forma recursiva (“clonar —recurse-submodules”) en el entorno de Windows bajo ciertas condiciones era posible desencadenar el uso del mismo directorio git dos veces (.git, git~1, git~2 y git~N se reconocen como un directorio en NTFS, pero esta situación solo se probó para git~1), que podría usarse para organizar escribiendo en el directorio ". git". Para organizar la ejecución de su código, un atacante, por ejemplo, puede sustituir su script a través del controlador posterior al pago en el archivo .git/config.
  • CVE-2019-1351 — el controlador de nombres de unidades de letras en rutas de Windows al traducir rutas como “C:\” fue diseñado solo para reemplazar identificadores latinos de una sola letra, pero no tuvo en cuenta la posibilidad de crear unidades virtuales asignadas a través de “letra subst:ruta” . Dichas rutas no se trataron como absolutas, sino relativas, lo que hizo posible, al clonar un repositorio malicioso, organizar un registro en un directorio arbitrario fuera del árbol del directorio de trabajo (por ejemplo, cuando se usan números o caracteres Unicode en el disco). nombre - “1:\qué\el\ hex.txt" o "ä:\tschibät.sch").
  • CVE-2019-1352 — cuando se trabaja en la plataforma Windows, el uso de flujos de datos alternativos en NTFS, creados agregando el atributo “:stream-name:stream-type” al nombre del archivo, permitido sobrescribe archivos en el directorio ".git/" al clonar un repositorio malicioso. Por ejemplo, el nombre ".git::$INDEX_ALLOCATION" en NTFS se trató como un enlace válido al directorio ".git".
  • CVE-2019-1353 — cuando se utiliza Git en un entorno WSL (Subsistema de Windows para Linux) al acceder al directorio de trabajo no utilizado protección contra la manipulación de nombres en NTFS (era posible realizar 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 -
    oportunidad escribe en el directorio ".git/" en la plataforma Windows al clonar repositorios maliciosos que contienen archivos con una barra invertida en el nombre (por ejemplo, "a\b"), lo cual es aceptable en Unix/Linux, pero se acepta como parte de la ruta en Windows.

  • CVE-2019-1387 — Se podría utilizar una verificación insuficiente de los nombres de los submódulos para organizar ataques dirigidos que, si se clonan recursivamente, podrían potencialmente podría llevar para ejecutar el código del atacante. Git no impidió la creación de un directorio de submódulo dentro del directorio de otro submódulo, lo que en la mayoría de los casos sólo llevaría a confusión, pero no impidió potencialmente que el contenido de otro módulo se sobrescribiera durante el proceso de clonación recursiva (por ejemplo, los directorios de submódulo "hippo" y "hippo/hooks" se colocan como " .git/modules/hippo/" y ".git/modules/hippo/hooks/", y el directorio de ganchos en hippo se puede usar por separado para alojar ganchos activados.

Se recomienda a los usuarios de Windows que actualicen inmediatamente su versión de Git y que se abstengan de clonar repositorios no verificados hasta la actualización. Si aún no es posible actualizar urgentemente la versión de Git, 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 importación rápida” con flujos de entrada no verificados y no clonar repositorios en particiones basadas en NTFS.

Para mayor seguridad, las nuevas versiones también prohíben el uso de construcciones con el formato "submodule.{name}.update=!command" en .gitmodules. Para distribuciones, puede realizar un seguimiento del lanzamiento de actualizaciones de paquetes en las páginas Debian,Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arco, ALT, FreeBSD.

Fuente: opennet.ru

Añadir un comentario