Está usted visitando una publicación en la hemeroteca de CSIRT-CV.
Para acceder al portal y contenido actual, visite https://www.csirtcv.gva.es
16/10/2012
La vulnerabilidad, detectada por Peter Bex y con CVE-2012-4522 reside en los métodos de la clase IO. Para abrir un archivo, al método open (IO#open), se le deben proporcionar varios parámetros, entre ellos el nombre del archivo a abrir, este método a su vez lo proporciona a capas inferiores del sistema operativo. En una situación normal se le proveerá de un nombre estándar como 'file.txt', pero un atacante podría proporcionar un nombre especialmente manipulado y que contuviera el caracter NUL, por ejemplo 'file\0.txt' (\0 es la representación de NUL).
En este último caso, el método IO#open los aceptaría como válido y se lo proporcionaría a una capa inferior del sistema operativo, crearía el archivo llamado 'file', ya que el \0 para el sistema operativo representa el fin de cadena y lo toma como tal.
La publicación oficial de la vulnerabilidad de Ruby menciona el método open, aunque más métodos de la misma clase o de otras relacionadas pueden estar afectados.
Sistemas Afectados:Los intérpretes de Ruby afectados son los anteriores a la versión 1.9.3 (estables) y de la 2.0.0 en desarrollo.
Referencias:CVE-2012-4522
Solución:Actualizar a la última versión desde: http://www.ruby-lang.org/en/downloads/
Notas:http://preview.ruby-lang.org/en/news/2012/10/12/poisoned-NUL-byte-vulnerability/