Vulnerabilidades en Git que conducen a la fuga y sobrescritura de datos

Se han publicado releases correctivos del sistema de control de código fuente distribuido Git 2.38.4, 2.37.6, 2.36.5, 2.35.7, 2.34.7, 2.33.7, 2.32.6, 2.31.7 y 2.30.8, en los que se encuentran dos se eliminan las vulnerabilidades, lo que afecta las optimizaciones de clones locales y el comando "git apply". Puede seguir el lanzamiento de actualizaciones de paquetes en distribuciones en las páginas de Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD. Si no es posible instalar una actualización, como solución alternativa, se recomienda evitar ejecutar "git clone" con la opción "--recurse-submodules" en repositorios que no son de confianza, y no utilizar "git apply" y "git am" con un código que no es de confianza.

  • La vulnerabilidad CVE-2023-22490 permite que un atacante que controla el contenido de un repositorio clonado obtenga acceso a datos confidenciales en el sistema de un usuario. Dos defectos contribuyen a la aparición de la vulnerabilidad:

    La primera falla permite, cuando se trabaja con un repositorio especialmente diseñado, lograr el uso de optimizaciones de clonación local incluso cuando se usa un transporte que interactúa con sistemas externos.

    La segunda falla permite colocar un enlace simbólico en lugar del directorio $GIT_DIR/objects, similar a la vulnerabilidad CVE-2022-39253, en la corrección de la cual se bloqueó la colocación de enlaces simbólicos en el directorio $GIT_DIR/objects, pero el hecho que el directorio $GIT_DIR/objects en sí mismo no se verificó puede ser un enlace simbólico.

    En el modo de clonación local, git mueve $GIT_DIR/objects al directorio de destino eliminando las referencias de los enlaces simbólicos, lo que hace que los archivos a los que se hace referencia se copien directamente en el directorio de destino. Cambiar al uso de optimizaciones de clones locales para el transporte no local permite la explotación de vulnerabilidades cuando se trabaja con repositorios externos (por ejemplo, la inclusión recursiva de submódulos con el comando "git clone --recurse-submodules" puede conducir a la clonación de un repositorio malicioso empaquetado como un submódulo en otro repositorio).

  • La vulnerabilidad CVE-2023-23946 permite sobrescribir el contenido de los archivos fuera del directorio de trabajo al pasar una entrada con formato especial al comando "git apply". Por ejemplo, se puede realizar un ataque cuando los parches preparados por un atacante se procesan en "git apply". Para evitar que los parches creen archivos fuera de la copia de trabajo, "git apply" bloquea el procesamiento de parches que intentan escribir un archivo usando enlaces simbólicos. Pero esta protección resultó ser eludida al crear un enlace simbólico en primer lugar.

Fuente: opennet.ru

Añadir un comentario