Visite também: UnderLinux ·  VivaOLinux ·  Dicas-L ·  NoticiasLinux ·  SoftwareLivre.org ·  [mais] ·  Currículo ·  Efetividade

O que é LinuxDownload LinuxApostila LinuxEnviar notícia


Falha no WordPress permite que a senha do administrador seja “resetada” por estranhos

Uma vulnerabilidade chata do WordPress pode permitir que qualquer estranho dê um reset na senha do administrador de blogs baseados neste sistema. A falha afeta inclusive a versão 2.8.3 (que é a atual, no momento em que redijo esta nota), e não permite propriamente o “roubo” da senha – o processo apenas faz com que o verdadeiro administrador perca a sua senha, e não seja notificado sobre a nova senha – ou seja, perca acesso ao sistema.

Se seu blog já foi vítima, a documentação do WordPress explica como você pode gerar uma nova senha de administração e recuperar assim o acesso – são vários métodos, incluindo um script que automatiza o processo – mas todos são relativamente trabalhosos e possivelmente complicados.

A notícia do Heise explica como alterar uma linha de código do WordPress para corrigir a falha, enquanto não sai uma nova versão.

Saiba mais (lists.grok.org.uk).

Atualização: A nova versão foi disponibilizada no final da terça-feira.

• Publicado por Augusto Campos em 11/08/2009 às 7:13 pm
• Link direto para este post: http://br-l.org/!13342
• Siga no Twitter: @brlinuxblog e @augustocc
• Mais posts do mesmo tema: Administração, Aplicações

Comentários dos leitores para “Falha no WordPress permite que a senha do administrador seja “resetada” por estranhos”

Os comentários são responsabilidade de seus autores, e não são analisados ou aprovados pelo BR-Linux. Em algumas notícias os comentários são exibidos de forma paginada, com links abaixo do formulário de inserção de novo comentário. Leia os Termos de uso do BR-Linux.

  1. Rober Hoelscher (usuário não registrado) em 11/08/2009 às 11:20 pm

    O problema já foi corrigido! Atualize já seu blog com a versão 2.8.4

  2. Thiago Silva (usuário não registrado) em 12/08/2009 às 9:09 am

    Se alguém com embasamento técnico puder me explicar onde exatamente está este bug ficaria agradecido :)

    Tentei aplicar o exploit do jeito informado no bug report e não teve efeito nenhum… nada de senha resetada. Passou a primeira verificação, mas não a segunda verificação, a do banco de dados… a key conseguiria ser alterada se a query do banco de dados buscasse por uma string vazia na chave e assim retornaria vários resultados, então pegaria o primeiro registro retornado (do administrador, que tem o primeiro ID)… mas a impressão que tenho é que a query busca na chave por uma string “Array” (que é o array em forma de string), e continua não achando nada e não passando pela verificação… isso é feito via prepared query. Quebrei um pouco a cabeça e não entendi onde o bug está na versão que eu uso, que é a 2.8.3… mas por via das dúvidas apliquei a correção sugerida, que verifica se o dado passado é um array.

  3. Oscar (usuário não registrado) em 12/08/2009 às 11:07 am

    A falha se encontra em:

    wp-login.php:

    function reset_password($key, $login) {
    global $wpdb;

    $key = preg_replace(‘/[^a-z0-9]/i’, ”, $key);

    if ( empty( $key ) )

    ===============================================================

    Solução dada pelo WP:

    function reset_password($key, $login) {
    global $wpdb;

    $key = preg_replace(‘/[^a-z0-9]/i’, ”, $key);

    if ( empty( $key ) || !is_string( $key ) )

    ===============================================================

    E o patch que eu fiz:

    http://www.dunkelheit.com.br/download/wp-login.php.patch

    Em vez de is_string, eu coloquei is_array.

O prazo para comentar neste post já expirou - visite a capa do site para posts mais recentes.