Ayer saltó la alarma entre los desarrolladores de Rails ante un bug muy crítico que apareció por sorpresa (Rails 1.1.5: Mandatory security patch (and more)) y ante el cuál recomendaba encarecidamente actualizar a Rails 1.1.5

Tras varias horas de incertidumbre en la que nadie decía nada (en la lista del core tampoco nadie hablaba del tema) comenzaron a llegar las primeras actualizaciones del post, con datos aún más desconcertantes sobre qué versiones de Rails estaban afectadas y cuáles no. El caso es que se seguía sin saber qué pasaba.

Hasta que por fin, en la tercera actualización del post se avisaba de que iban a informar de todo lo que estaba ocurriendo posteriormente, dando un informe detallado de cuáles eran las causas y sobretodo, las vulnerabilidades que éstas podían producir:

Regarding security through obscurity, we’ll release the full details of this issue once everyone has had a fair chance to upgrade their system. Source transparency is of little comfort if you just had your system compromised before you got a chance to apply the patch.

Posteriormente ha habido un segundo post (Security update: Rails 1.0, 1.1.3 not affected) en el que se ha aclarado ya definitivamente qué versiones estaban afectadas y cuáles no.

Y esto ha sido la crónica resumida de lo que ha ocurrido.

El debate

Ahora lo interesante: ¿qué opinas de los pocos detalles que se han dado respecto a las vulnerabilidades?

Por ejemplo, esta misma mañana en la lista de Rails en castellano se ha hablado del tema, de lo hermético de su comportamiento. O en un comentario en el blog oficiail de Rails se decía que el hermetismo y la poca transparencia eran la causa de que las grandes corporaciones no se fiaran de implantar tecnologías como Rails en sus soluciones.

Incluso Sergio ha dado un link a un post de un tipo que cree haber localizado el origen del problema: una vulnerabilidad en las rutas que hacía que se pudiera ejecutar código Ruby fuera del ámbito de la propia aplicación.

Así que ahí estaba la vulnerabilidad, la causa, e incluso cómo se podría aprovechar dicha vulnerabilidad en sitios en producción que funcionen sobre Rails. Supongo que será por eso por lo que los miembros del core no han querido comentar nada:

  • por un lado, para evitar o disuadir de posibles intentos de ataque sobre sites en producción
  • por otro, trabajar tranquilamente para dar una solución lo más rápidamente posible

Es decir, creo que hay que dar un voto de confianza al núcleo de desarrolladores, que, considero, se la han ganado a pulso. Además ya han prometido que darán un informe detallado más adelante, cuando la situación vuelva a ser estable y no ahora, comportamiento bastante justificado y razonable.

Pero esta es mi opinión. ¿Y la tuya?

Actualización: por lo que se ve la 1.1.5 no arreglaba todo lo que tenía que arreglar y ha habido que lanzar la 1.1.6: Rails 1.1.6, backports, and full disclosure, además de que se ha anunciado un servidor dedicado en que alojar el Trac de Rails y una lista de correo para hablar sobre seguridad en Rails.