Vulnerabilidade no WordPress permite que apenas um computador derrube sites feito na plataforma - Blog HostnetBlog Hostnet

Vulnerabilidade no WordPress permite que apenas um computador derrube sites feito na plataforma

Introdução

O WordPress é o sistema de gerenciamento de conteúdo (CMS) mais usado do mundo. Estima-se que 29% da web seja gerenciado por esse software. Logo, sendo ele o mais usado, é também o mais visado para ataques por parte de criminosos digitais.

No dia 5 de fevereiro de 2018, um pesquisador israelense, Barak Tawily, descobriu uma falha de segurança no WordPress. Essa vulnerabilidade é do tipo Denial of Service, ou negação de serviço. Um ataque do tipo Denial of Service, ou Negação de Serviço (DoS) consiste em causar lentidão ou indisponibilidade em um site na Internet.

Hoje em dia é comum os ataques do tipo DDoS, que são os ataques de negação de serviço distribuídos. Nesse caso, o site recebe um número imenso de requisições, muito maior do que a sua infraestrutura pode suportar, e o site trava.

Na Hostnet esse risco é minimizado, devido ao uso de serviços como o CDN (Content Distribution Network) da Cloudflare, oferecido a todos os nossos clientes.

Qual é a falha?

A falha encontrada por este pesquisador consiste em tirar proveito de um script interno do WordPress, o load-scripts.php. Esse script permite que várias requisições sejam feitas de uma vez só. Ele então combina vários arquivos em JavaScript em um arquivo, e faz apenas uma requisição para o servidor. Dessa forma, temos um ganho de desempenho, diminuindo o número de requisições feitas.

O script pode ser executado por qualquer um, sem a necessidade de autenticação. Logo, qualquer um pode executá-lo. E como esse script encadeia vários arquivos em uma única requisição, nada impede que um atacante faça com que esse script pegue todos os arquivos em JavaScript em uma pasta no servidor, processe-os e remeta-os repetidamente ao servidor. Rapidamente você terá um servidor paralisado por excesso de requisições.

É possível entender o quão severo é essa falha de segurança. O pesquisador informou dessa falha no CVE, e esta falha foi confirmada por diversos sites, como o Hacker News.

Tem correção?

A equipe de desenvolvimento do WordPress foi notificada da falha, mas até agora não apresentou uma correção para o problema, ou uma nova versão do Sistema Gerenciador de Conteúdo com a correção implementada.

O pesquisador liberou uma correção para ser implementada pelos usuários do WordPress, que está disponível a todos.

E se eu atualizar o WordPress?

A última versão do WordPress (4.9.4) minimiza o problema mas não o resolve: O script agora pode lidar com requisições que contenham até 40 arquivos em sequência. Isto diminui, mas não resolve o problema: um servidor que contenha várias instâncias do WordPress, ou tenha um WordPress configurado para gerenciar vários sites, ainda pode ser vítima desse ataque: o criminoso pode fazer requisições para todas essas instâncias do WordPress, e assim paralisando o servidor da mesma maneira.

E a Hostnet, como está procedendo?

As equipes de infraestrutura e desenvolvimento da Hostnet já tiveram acesso à correção, mas decidiram por uma solução alternativa. Esta solução resolve o problema para qualquer versão do WordPress e é de fácil aplicação.

Aqui está ela:

  1. No arquivo wp-config.php, verifique se há uma linha de código que contenha a seguinte expressão:

define(‘CONCATENATE_SCRIPTS’, false);

Dessa forma, o JavaScript não irá unir todas as requisições em uma só.

  1. No arquivo .htaccess, coloque as seguintes linhas no início:

<FilesMatch “load-(scripts|styles).php”>

Require all denied

</FilesMatch>

Nesse exato momento, esta correção já está implementada em todos os servidores e sites de clientes Hostnet que contém o WordPress. Dessa forma, todos os nossos clientes estão protegidos contra possíveis ataques de negação de serviço. Estamos nos antecipando ao problema para evitar que ele aconteça e afete a todos. Isto reforça nosso compromisso com nossos clientes, nosso maior patrimônio.

Links Relacionados

https://thehackernews.com/2018/02/wordpress-dos-exploit.html?m=1

https://baraktawily.blogspot.com.br/2018/02/how-to-dos-29-of-world-wide-websites.html

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-6389

https://thehackernews.com/2018/02/wordpress-dos-exploit.html?m=1

https://github.com/Quitten/WordPress/blob/master/wp-dos-patch.sh

https://codex.wordpress.org/pt-br:Editando_wp-config.php#Disable_Javascript_Concatenation

6 Comentários
  1. Bill Bordallo

    Ótima iniciativa!
    Obrigado ao pessoal da Hostnet pela disponibilização do código. 🙂

  2. Fabiano Barbosa

    Muito obrigado pessoal da Hostnet.
    Sou cliente há anos e recomendo!

  3. Sérgio

    Obrigado pelo aviso e pela solução
    Uma pergunta, estes comandos possuem algum efeito colateral?
    Pergunto porque se houver, quando vier a correção eu tiro as instruções do .htaccess

  4. Olá Fabiano,

    Agradecemos pela confiança. Estamos à disposição.

    Um abraço.

  5. Olá Sérgio,

    Desde que implementamos o código não nos deparamos com efeitos colaterais. Recomendamos ficar atento às correções que vierem.
    Vamos notificar aqui no Blog se houver novidades.

    Um abraço.

Write a Reply or Comment

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *