CVE-2019-15845: Una vulnerabilidad de inyección de NUL en File.fnmatch y File.fnmatch?

Se encontró una vulnerabilidad de inyección de NUL en metodos incluidos en Ruby (File.fnmatch y File.fnmatch?). Un atacante que controle el parametro con el patrón de ruta podría explotar esta vulnerabilidad para hacer que pase el reconocimiento de algunas rutas no deseadas por el autor del programa. CVE-2019-15845 se ha asignado a esta vulnerabilidad.

Detalles

Los métodos incluidos File.fnmatch y su alias File.fnmatch? aceptan el patrón de ruta como primer parámetro. Cuando el patrón contiene el caracter NUL (\0), los métodos reconocen que el patrón de ruta termina inmediatamente antes del byte NUL. Por esto, con un programa que use una entrada externa como argumento para el patrón, un atacante podría hacerlo reconocer erradamente una ruta que es el segundo parámetro.

Todos los usuarios que corran una versión afectada deberían actualizar tan pronto como sea posible.

Versiones afectadas

  • Todas las versiones que son de la serie 2.3 y anteriores.
  • Serie Ruby 2.4: Ruby 2.4.7 o anterior
  • Serie Ruby 2.5: Ruby 2.5.6 o anterior
  • Serire Ruby 2.6: Ruby 2.6.4 o anterior
  • Ruby 2.7.0-preview1
  • rama master antes de la contribución a0a2640b398cffd351f87d3f6243103add66575b

Agradecimientos

Gracias a ooooooo_q por descrubir este problema.

Historia

  • Publicado originalmente en ingles el 2019-10-01 11:00:00 (UTC)