Vulnerabilidades en Git que te permiten sobrescribir archivos o ejecutar tu propio código

Se han publicado versiones correctivas de Git 2.40.1, 2.39.3, 2.38.5, 2.37.7, 2.36.6, 2.35.8, 2.34.8, 2.33.8, 2.32.7, 2.31.8 y 2.30.9 .XNUMX , que corrigió cinco vulnerabilidades. Puede seguir el lanzamiento de actualizaciones de paquetes en distribuciones en las páginas de Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD. Como solución alternativa para protegerse contra las vulnerabilidades, se recomienda evitar ejecutar el comando "git apply --reject" cuando se trabaja con parches externos no probados y verificar el contenido de $GIT_DIR/config antes de ejecutar "git submodule deinit", "git config --rename-section" y " git config --remove-section" cuando se trata de repositorios que no son de confianza.

La vulnerabilidad CVE-2023-29007 permite la sustitución de configuraciones en el archivo de configuración $GIT_DIR/config, que se puede usar para ejecutar código en el sistema especificando rutas a archivos ejecutables en las directivas core.pager, core.editor y core.sshCommand. La vulnerabilidad se debe a un error lógico debido a que los valores de configuración muy largos pueden tratarse como el comienzo de una nueva sección al cambiar el nombre o eliminar una sección de un archivo de configuración. En la práctica, la sustitución de los valores de explotación se puede lograr especificando direcciones URL de submódulos muy largas que se guardan en el archivo $GIT_DIR/config durante la inicialización. Estas URL se pueden interpretar como nuevas configuraciones cuando se intenta eliminarlas a través de "git submodule deinit".

La vulnerabilidad CVE-2023-25652 permite sobrescribir el contenido de los archivos fuera del árbol de trabajo cuando los parches especialmente diseñados se procesan con el comando "git apply --reject". Si intenta ejecutar un parche malicioso con el comando "git apply" que intenta escribir en un archivo a través de un enlace simbólico, la operación será rechazada. En Git 2.39.1, la protección contra la manipulación de enlaces simbólicos se ha ampliado para bloquear parches que crean enlaces simbólicos e intentan escribir a través de ellos. La esencia de la vulnerabilidad bajo consideración es que Git no tuvo en cuenta que el usuario puede ejecutar el comando "git apply -reject" para escribir las partes rechazadas del parche como archivos con la extensión ".rej", y el atacante puede aproveche esta oportunidad para escribir el contenido en un directorio arbitrario, en la medida en que lo permitan los permisos actuales.

Además, se han solucionado tres vulnerabilidades que aparecen solo en la plataforma Windows: CVE-2023-29012 (busca el ejecutable doskey.exe en el directorio de trabajo del repositorio al ejecutar el comando "Git CMD", que permite organizar la ejecución de su código en el sistema del usuario), CVE-2023 -25815 (desbordamiento de búfer al procesar archivos de localización personalizados en gettext) y CVE-2023-29011 (posibilidad de sustituir el archivo connect.exe cuando se trabaja a través de SOCKS5).

Fuente: opennet.ru

Añadir un comentario