CVE-2021-28966: Salto de directorio en Tempfile en Windows

Hay una vulnerabilidad no intencional al crear un directorio con la librería tmpdir incluida en Ruby en Windows. Y también hay una vulnerabilidad no intencional al crear un archivo con la librería tempfile incluida en Ruby en Windows, porque usa tempdir internamente. A esta vulnerabilidad se le ha asignado el identificador CVE CVE-2021-28966.

Detalles

El método Dir.mktmpdir introducido por la librería tmpdir acepta el prefijo y el sufijo del directorio que se crea como primer parámetro. El prefijo puede contener especificadores de directorios relativos “..", así que este método puede usarse para apuntar a cualquier directorio. Entonces si un script acepta una entrada externa como prefijo, y el directorio destino tiene permisos no apropiados o el proceso ruby tiene privilegios no apropiados, el atacante puede crear un directorio o un archivo en cualquier directorio.

Este es el mismo problema de CVE-2018-6914, pero el arreglo anterior resultó incompleto en Windows.

Todos lo usuarios que corren una de las versiones afectadas deben actualizar de inmediato.

Versiones afectadas

  • Ruby 2.7.2 o anteriores
  • Ruby 3.0.0

Creditos

Agradecimientos a Bugdiscloseguys por descubrir el problema.

Historia

  • Publicado originalmente el 2021-04-05 a las 12:00:00 (UTC)