Avisos 01 de February, 2013

Vulnerabilitat crítica i actualització de Ruby on Rails

Els desenvolupadors de Ruby on Rails, el popular framework de desenvolupament web basat en Ruby, han publicat actualitzacions del seu producte per solucionar una vulnerabilitat crítica. La fallada de seguretat permetria a un atacant remot sense autenticar, executar codi mitjançant peticions especialment manipulades.

 

Impacte
 
Execució remota de codi, denegació de servei.
 
Productes afectats
 
Aplicacions web basades en Ruby on Rails 2.3.x i 3.0.x que utilitzin el backend "Yaml" per analitzar codi de tipus JSON. 
 
No estan afectades les branques 3.1.xy 3.2.x, o les aplicacions web que utilitzen el paquet "yajl".
 
Solució
 
Actualitzar les aplicacions web a una de les versions de Ruby On Rails que solucionen la vulnerabilitat (3.0.20 i 2.3.16), disponibles per a descarregar a la pàgina web del fabricant.
 
En cas que no sigui possible actualitzar, l'avís de seguretat del fabricant proposa com mitigació utilitzar el backend "JSONGem" en lloc del backend vulnerable. Per això, cal incloure el següent codi a la part d'inicialització de l'aplicació:
 
ActiveSupport::JSON.backend = "JSONGem"
 
Detall 
 
Ruby on Rails disposa de tres possibles mòduls per analitzar codi JSON: JSONGem, Yajl i YAML. El mòdul configurat per defecte (YAML), utilitza el mòdul StringScanner per recórrer la cadena de codi JSON, reemplaçant els elements JSON amb equivalents en el llenguatge YAML. Aquest mètode no valida que l'entrada sigui codi JSON vàlid, i un atacant podria utilitzar un codi JSON especialment manipulat per a executar codi arbitrari. 
 
L'identificador estàndard de la vulnerabilitat és CVE-2013-0333.
 
La vulnerabilitat està relacionada amb una solució incompleta d'una altra semblant anunciada recentment (CVE-2013-0156),que utilitza un altre camí d'execució per arribar a la mateixa vulnerabilitat.
 
Existeix exploit públic.
 
Referències
 
Avís de seguretat original de Ruby on Rails
https://groups.google.com/forum/?fromgroups=#!topic/rubyonrails-security/1h2DR63ViGo
Avís de seguretat a la pàgina web de CERT/CC
http://www.kb.cert.org/vuls/id/628463
Anàlisi tècnic de la vulnerabilitat
http://ronin-ruby.github.com/blog/2013/01/28/new-rails-poc.html
Publicat a: Avisos