Falha de segurança no plugin restful_authentication

Posted by Leonardo Mon, 29 Oct 2007 11:20:00 GMT

Segundo este post do blog de segurança de Ruby on Rails, o plugin Restful_Authentication contém um falha de segurança quando se utiliza a funcionalidade de ativação de um cadastro.

De acordo com o post, o plugin aceita receber o parâmetro activation_code vazio assim:

http://localhost:3000/user/activate ou http://localhost:3000/activate/?activation_code=

dependendo das rotas criadas.

Isto geraria a seguinte consulta SQL:

SELECT * FROM users WHERE (users.activation_code IS NULL) LIMIT 1

A pessoa, então, poderia se logar sem senha com a primeira conta que tivesse o activation_code vazio, ou seja, com um dos usuários registrados.

Pelo post, o dono do plugin já foi notificado e o mesmo já providenciou a correção.

Se você usa, ou pensa em usar este plugin em algum de seus projetos, vale a pena pegar a última versão ou trocar a primeira linha do método de ativação para:

self.currentuser = params[:activationcode].blank? ? :false : User.findby_activationcode(params[:activation_code])

não esquecendo de acertar os nomes dos models caso tenha alterado.

Posted in  | Tags , ,  | 1 comment

Comments

  1. Tiago Albineli Motta said 10 months later:
    Ótima dica, estou começando a implementar a autenticação em um projeto.

Comments are disabled