24/08/24

Upgrade necessário para o plugin LiteSpeed Cache

Olá, Kangaroozinho! Recentemente, o plugin LiteSpeed Cache para WordPress teve uma vulnerabilidade de segurança corrigida em sua mais nova versão 6.4. Vamos explicar um pouco mais sobre o que foi essa vulnerabilidade e como corrigi-la.

Sumário

  1. A vulnerabilidade
  2. Como corrigir o problema
  3. Conclusão

Entendendo a vulnerabilidade com o LiteSpeed Cache

A falha de segurança do plugin foi registrada com o código CVE-2024-28000, e estava presente no plugin desde sua versão 1.9 segundo os detalhes do relatório. A vulnerabilidade permitia que ocorresse a escalada de permissões de um usuário malicioso não autenticado, possibilitando que ele assumisse a função de administrador no WordPress.

Para entender como a vulnerabilidade funcionava, precisamos ver o funcionamento do próprio plugin:

Uma de suas principais funções é o Crawler, que permite acessar previamente as páginas do site para a construção do cache do site, o que também é possível de se fazer simulando como se um usuário logado estivesse navegando no site e gerando o cache de cada página.

Essa simulação era feita através da criação de um hash (litespeed_hash) para a sessão de usuário, porém o tipo de criação do hash sofria de uma série de problemas, desde uma baixa possibilidade de códigos (totalizando apenas um milhão), até o valor gerado não ser seguro em termos de criptografia. Somado a isso, uma vez gerado o hash era salvo no banco de dados e nunca mais era atualizado.

Ao descobrir a hash, seria possível informar o ID de um usuário válido e passar isso como parâmetro no cookie litespeed_role. Assim, um invasor poderia se aproveitar dos hashes de validação da simulação de sessão de usuário do no WordPress e então falsificar um ID de sessão de usuário para obter acesso a qualquer usuário do WP.

Corrigindo o problema

A vulnerabilidade foi corrigida pelo plugin na versão 6.4, onde foram implementadas uma série de ajustes para melhorar a criação e validação dos hashes de autenticação gerados pela função de crawler. Dentre os ajustes, foi adicionado um novo hash de validação extra (litespeed_flash_hash) que é renovado após a validação tem duração (TTL) de apenas 120 segundos.

O tamanho total das hashes async_call-hash, litespeed_flash_hash e litespeed_hash também foi ajustada, e agora todos estes contam com 32 caracteres aleatórios de cumprimento. Além disso, o crawler agora irá gerar um novo hash de validação toda vez que for executado.

Para a validação do hash, também foi implementado um mecanismo extra de proteção, que fará com que sempre que um hash for autenticado o IP da solicitação seja salvo no banco de dados para a próxima validação.

Todos os ajustes de correção estão disponíveis já na versão 6.4 do plugin e posteriores. Isso significa que todas as versões do plugin entre 1.9 e 6.3.0.1 estão suscetíveis à brecha de escalamento de permissões e por isso é extremamente fundamental que você faça o update do plugin o quanto antes. Para o update, faça o seguinte:

  1. Acesse o seu WP Admin;
  2. Na barra à esquerda, localize a opção Plugins e clique nela;
    Plugins WordPress
  3. Encontre o plugin e confira se há uma atualização disponível;
  4. Havendo a possibilidade de atualizar, clique em Atualizar agora para iniciar o processo;
    Atualizar plugin WordPress LiteSpeed Cache para corrigir vulnerabilidade de seguranca
  5. Aguarde o fim da atualização, e logo o processo estará completo.

Conclusão

Com essa simples atualização, o seu site já não estará mais exposto a essa brecha de segurança tão grave, e capaz de algo tão sério que é ter um agente malicioso com acesso a qualquer usuário de seu site, o que poderia até mesmo conceder acesso total ao seu site para esse usuário.

Por isso, não deixe a atualização para depois e faça o update imediatamente para tornar o seu site mais seguro. Se você gostou dessa dica e gostaria de saber mais sobre segurança e outros assuntos, não deixe de continuar acompanhando nosso blog para mais conteúdo como esse.

Chat
24/7 11 95052-7555 0800 481 7000 chat
cookie