Fecha de publicación: Mar, 24/01/2023 - 17:30

Aviso de seguridad

Nivel de peligrosidad: Crítico

Descripción

CVE-2022-23521 es una vulnerabilidad de asignación truncada que conduce a una escritura fuera de los límites (OOB). Esta falla se desencadena cuando Git analiza un archivo .gitattributes diseñado que puede ser parte de un historial de confirmaciones lo que provoca múltiples desbordamientos de enteros. Esto significa que el programa está tratando de almacenar un valor o número enorme más de lo que puede almacenar un tipo de entero. 

Si esto sucede, pueden ocurrir lecturas y escrituras OOB, lo que podría conducir a la ejecución remota de código.

CVE-2022-41903 es una vulnerabilidad de escritura OOB en formato de registro, esta falla se encuentra en el mecanismo de formato de confirmación de Git, que muestra información arbitraria sobre las confirmaciones. Cuando Git procesa un operador de relleno, puede ocurrir un desboradmiento de enteros. Las lecturas y escrituras OOB pueden ocurrir fuera del desbordamiento, lo que lleva a la ejecución remota de código si se explota. 

Recursos afectados

Las versiones de Git afectadas son:

  • Git v2.30
  • Git v2.31.5
  • Git v2.32.4
  • Git v2.33.5
  • Git v2.34.5
  • Git v2.35.5
  • Git v2.36.3
  • Gitv2.37.4
  • Git v2.38.2
  • Git v2.39.0

Solución

Las versiones ya cuentan con un parche de seguridad que son:

  • Git v2.30 debe actualizarse a la versión v2.30.7
  • Git v2.31.5 debe actualizarse a la versión v2.31.6
  • Git v2.32.4 debe actualizarse a la versión v2.32.5
  • Git v2.33.5 debe actualizarse a la versión v2.33.6
  • Git v2.34.5 debe actualizarse a la versión v2.34.6
  • Git v2.35.5 debe actualizarse a la versión v2.35.6
  • Git v2.36.3 debe actualizarse a la versión v2.36.4
  • Gitv2.37.4 debe actualizarse a la versión v2.37.5
  • Git v2.38.2 debe actualizarse a la versión v2.38.3
  • Git v2.39.0 debe actualizarse a la versión v2.39.1

Recomendaciones

En caso de no poder actualizar se debe aplicar la siguiente solución en su lugar:

  • Deshabilite 'git archive' en repositorios que no sean de confianza o evite ejecutar el comando en repositorios que no sean de confianza
  • Si 'git archive' está expuesto a través de 'git daemon', desactívelo cuando trabaje con repositorios que no sean de confianza ejecutando el comando 'git config --global daemon.uploadArch false'

Referencias

Múltiples vulnerabilidades críticas en Git que permite la ejecución remota de código