Os hackers estão explorando efetivamente uma vulnerabilidade crítica em um plugin WordPress usados por mais de doze milhões de sites e que lhes dá a capacidade de assumir o controle total das páginas.
A vulnerabilidade, que carrega uma classificação de gravidade de 8,8 em 10 possíveis, está presente no Elementor Pro, um plug-in premium executado em sites com o sistema de gerenciamento de conteúdo WordPress. O Elementor Pro permite que os usuários criem sites de alta qualidade usando uma ampla variedade de ferramentas, uma das quais é o WooCommerce, um plug-in de vendas para lojas online.
Quando as condições são atendidas, qualquer pessoa com uma conta no site – um assinante ou cliente – pode criar novas contas com privilégios de administrador dentro do sistema.
A falha foi descoberta por Jerome Bruandet, pesquisador da empresa de segurança NinTechNet. Rapidamente, a Elementor, desenvolvedora do plu-in Elementor Pro, lançou a versão 3.11.7, que corrigiu a vulnerabilidade.
MariaDB [example]> SELECT * FROM `wp_options` WHERE `option_name`='siteurl';
+-----------+-------------+------------------+----------+
| option_id | option_name | option_value | autoload |
+-----------+-------------+------------------+----------+
| 1 | siteurl | https://evil.com | yes |
+-----------+-------------+------------------+----------+
1 row in set (0.001 sec)
Pesquisadores de uma segunda empresa de segurança, a PatchStack, trouxeram mais informações ao mercado, relatando que a vulnerabilidade vem sendo amplamente explorada, com os ataques sendo feitos por uma variedade de endereços IP, incluindo:
- 193.169.194.63
- 193.169.195.64
- 194.135.30.6
E os arquivos enviados pelo invasores que comprometem os sites têm os seguintes nomes:
- wp-resortpack.zip
- wp-rate.php
- ll.zip
As URLs dos sites comprometidos são frequentemente alteras para:
- away[ponto]trackersline[ponto]com
A vulnerabilidade de acesso decorre do uso do componente “elementor-pro/modules/woocommerce/module.php” do Elementos Pro e quando o plugin WooCommerce está em execução, o script regista suas ações AJAX conforme os registros:
/**
* Register Ajax Actions.
*
* Registers ajax action used by the Editor js.
*
* @since 3.5.0
*
* @param Ajax $ajax
*/
public function register_ajax_actions( Ajax $ajax ) {
// `woocommerce_update_page_option` is called in the editor save-show-modal.js.
$ajax->register_ajax_action( 'pro_woocommerce_update_page_option', [ $this, 'update_page_option' ] );
$ajax->register_ajax_action( 'pro_woocommerce_mock_notices', [ $this, 'woocommerce_mock_notices' ] );
}
e também:
/**
* Update Page Option.
*
* Ajax action can be used to update any WooCommerce option.
*
* @since 3.5.0
*
* @param array $data
*/
public function update_page_option( $data ) {
update_option( $data['option_name'], $data['editor_post_id'] );
}
Segundo Bruandet a função update_option “deve permitir que o administrador ou o gerente da loja atualize algumas opções específicas do WooCommerce, mas as entradas do usuário não são validadas e a função carece de uma verificação de capacidade para restringir seu acesso apenas a um usuário com privilégios elevados”.
Qualquer pessoa que use o Elementor Pro deve garantir que esteja executando a versão 3.11.7 ou posterior, pois todas as versões anteriores são vulneráveis. Também é uma boa ideia que esses usuários verifiquem seus sites quanto aos sinais de infecção listados na postagem do PatchStack.
A Creation First oferece aos seus clientes a manutenção completa das ferramentas de seu site WordPress, e como indicação de boas práticas, ressalta a importância das atualizações periódicas do seu CMS e de todos os plugins usados no website.