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 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:http://preview.ruby-lang.org/en/news/2012/10/12/poisoned-NUL-byte-vulnerability/