CSIRTCV

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

Vulnerabilitat en la creació d'arxius a Ruby

S’ha detectat un problema de seguretat en Ruby que podria permetre a un atacant fer que el programa cree inadvertidament arxius no desitjats en el sistema en què funcione el codi.

Risc: Mitjà

La vulnerabilitat, detectada per Peter Bex i amb CVE-2012-4522, es troba en els mètodes de la classe IO. Per a obrir un arxiu, al mètode open (IO#open), se li han de proporcionar diversos paràmetres, entre els quals el nom de l’arxiu que cal obrir; este mètode, al seu torn, el proporciona a capes inferiors del sistema operatiu. En una situació normal, se li donarà un nom estàndard, com ara “file.txt”, però un atacant podria proporcionar un nom especialment manipulat i que continga el caràcter NUL, per exemple “file\0.txt” (“\0” és la representació de NUL).

En este últim cas, el mètode IO#open l'acceptaria com a vàlid i el proporcionaria a una capa inferior del sistema operatiu, crearia l’arxiu anomenat “file”, ja que el “\0” representa per al sistema operatiu representa la fi de cadena i el pren com a tal.

La publicació oficial de la vulnerabilitat de Ruby menciona el mètode open, encara que més mètodes de la mateixa classe o d’altres relacionades poden estar afectats.

Sistemes Afectats:

Els intèrprets de Ruby afectats són els anteriors a la versió 1.9.3 (estables) i de la 2.0.0 en desenrotllament.

Referències:

CVE-2012-4522

Solució:

Actualitzeu a l’última versió des de: http://www.ruby-lang.org/en/downloads/

Notes:
Ruby file creation due in insertion of illegal NUL character - SECLISTS
http://seclists.org/oss-sec/2012/q4/72
Unintentional file creation caused by inserting a illegal NUL character - - - Ruby

http://preview.ruby-lang.org/en/news/2012/10/12/poisoned-NUL-byte-vulnerability/

Font: Hispasec una-al-día

CSIRT-CV