Se han publicado las versiones correctivas del sistema distribuido de gestión de código fuente Git 2.38.1, 2.30.6, 2.31.5, 2.32.4, 2.33.5, 2.34.5, 2.35.5, 2.36.3 y 2.37.4, en las que se han solucionado dos vulnerabilidades que se presentan al utilizar el comando «git clone» en modo «—recurse-submodules» con repositorios no verificados y al usar el modo interactivo de «git shell». Se puede seguir la publicación de las actualizaciones de paquetes en las distribuciones en las páginas de Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD.
- CVE-2022-39253 — La vulnerabilidad permite a un atacante, que controla el contenido del repositorio clonado, acceder a datos confidenciales en el sistema del usuario a través de la colocación de enlaces simbólicos en el directorio $GIT_DIR/objects del repositorio clonado, apuntando a archivos de interés. El problema se presenta únicamente durante la clonación local (en modo «—local», que se aplica cuando los datos de destino y de origen de la clonación se encuentran en la misma partición) o al clonar un repositorio malicioso empaquetado como submódulo en otro repositorio (por ejemplo, al incluir recursivamente submódulos con el comando «git clone —recurse-submodules»).
La vulnerabilidad es causada por el hecho de que en el modo de clonación «—local», git transfiere el contenido de $GIT_DIR/objects al directorio de destino (creando enlaces duros o copias de los archivos), desreferenciando enlaces simbólicos (es decir, al final, se copian archivos en el directorio de destino en lugar de vínculos simbólicos). Para bloquear la manifestación de la vulnerabilidad en las nuevas versiones de git, se ha prohibido la clonación de repositorios en modo «—local» que contengan enlaces simbólicos en el directorio $GIT_DIR/objects. Además, el valor por defecto del parámetro protocol.file.allow se ha cambiado a «user», lo que clasifica las operaciones de clonación que utilizan el protocolo file:// como inseguras.
- CVE-2022-39260 — Desbordamiento de enteros en la función split_cmdline(), utilizada en el comando «git shell». El problema puede ser explotado para atacar a los usuarios que utilizan «git shell» como su shell al iniciar sesión y tienen habilitado el modo interactivo (se ha creado el archivo $HOME/git-shell-commands). La explotación de la vulnerabilidad puede llevar a la ejecución de código arbitrario en el sistema al pasar un comando especialmente diseñado que tenga un tamaño superior a 2 GB.
Fuente: opennet.ru
