woocommerce-security-910x485

Vulnerabilidade no Plugin do WooCommerce Checkout Manager.

No início desta semana, uma atualização de segurança foi lançada para o plugin WooCommerce Checkout Manager para o WordPress. Esta atualização corrige duas vulnerabilidades distintas: uma falha arbitrária de upload de arquivos presente em certas configurações, e uma falha que permite que atacantes excluam arquivos de mídia de sites afetados. Os usuários do plug-in são aconselhados a instalar a versão mais recente disponível (4.3 no momento desta publicação) o mais rápido possível para evitar a exploração das falhas corrigidas nesta atualização.
A vulnerabilidade de upload de arquivos foi inicialmente publicada em um relatório de um pesquisador de segurança sem nome, que foi publicado irresponsavelmente em 23 de abril sem notificar o autor do plugin. No processo de verificação do relatório, nossa equipe identificou uma falha adicional de exclusão de mídia que precisava ser corrigida. Entramos em contato com o desenvolvedor do plug-in no mesmo dia para iniciar o processo de divulgação e implantamos uma regra de firewall para proteger nossos usuários contra essas explorações.
Nesta postagem, compartilharemos detalhes sobre essas duas falhas, com foco particular na falha de exclusão de mídia que ainda não foi relatada.

Upload de arquivo arbitrário condicional
A falha inicialmente divulgada no WooCommerce Checkout Manager permitiu que usuários não autenticados enviassem arquivos arbitrários para sites afetados em certas configurações. Especificamente, a opção “Categorize Uploaded Files” do plugin precisava estar ativa para que essa falha fosse explorada.
Com o plug-in ativo, os clientes de um site podem enviar arquivos associados a seus pedidos durante o processo de check-out. Sem a opção “Categorize Uploaded Files” habilitada, o plugin fez uso do manipulador de upload de mídia embutido do WordPress, que geralmente é eficaz para manter os scripts maliciosos fora. No entanto, quando a opção está ativada, ela carrega diretamente o arquivo sem nenhuma verificação de segurança, permitindo o upload de arquivos perigosos.
Os usuários do firewall Wordfence, tanto premium quanto gratuitos, são protegidos contra uploads de scripts mal-intencionados.

Falha de Exclusão de Mídia Não Autenticada
Ao testar os relatórios da falha de upload do arquivo acima, nossa equipe descobriu uma falha que permitiria que os invasores excluíssem arquivos de mídia do site afetado.
Juntamente com o recurso de upload de arquivos, o plug-in pode excluir os anexos que os usuários enviaram ao finalizar a compra.

function update_attachment_wccm_callback() {
global $post, $wpdb, $woocommerce;
$array1 = explode( ‘,’, sanitize_text_field( isset( $_POST[‘wccm_default_keys_load’] ) ? $_POST[‘wccm_default_keys_load’] : ” ) );
$array2 = explode( ‘,’, sanitize_text_field( isset( $_POST[‘product_image_gallery’] ) ? $_POST[‘product_image_gallery’] : ” ) );
$attachment_ids = array_diff( $array1, $array2 );
if( isset( $_POST[‘wccm_default_keys_load’] ) ) {
if( !empty( $attachment_ids ) ) {
foreach( $attachment_ids as $key => $values ) {
wp_delete_attachment( $attachment_ids[$key] );
}
}
echo __(‘Deleted successfully.’,’woocommerce-checkout-manager’);
}
die();
}
add_action( ‘wp_ajax_update_attachment_wccm’, ‘update_attachment_wccm_callback’ );
add_action( ‘wp_ajax_nopriv_update_attachment_wccm’, ‘update_attachment_wccm_callback’ );

A função acima update_attachment_wccm_callback, é conectada à update_attachment_wccmação AJAX. A função destina-se apenas a usuários Administrador e Gerente de Loja, mas estava disponível para usuários não autenticados devido a seu nopriv_ registro adicional e à falta de verificações de recursos. Na função, dois parâmetros do corpo POST são convertidos em matrizes e, em seguida, comparados. Todos os anexos de mídia com IDs presentes, $_POST[‘wccm_default_keys_load’] mas não em, $_POST[‘product_image_gallery’] são excluídos por meio da wp_delete_attachment função interna. Isso não apenas exclui o arquivo associado, mas também remove seus metadados da biblioteca de mídia do WordPress.

Um invasor com motivação para derrubar imagens e outras mídias de um site pode fazer isso identificando um conjunto de IDs de mídia ou simplesmente iterando em uma ampla faixa de valores e atribuindo-os a wccm_default_keys_load uma string delimitada por vírgula. Como a operação ternária na linha 2176 retorna uma string vazia por padrão, não precisamos definir um product_image_galleryparâmetro para comparação, a menos que desejemos excluir IDs específicos por algum motivo.
Por exemplo, para excluir quaisquer arquivos de mídia com IDs de 1 a 10, você envia uma solicitação POST para http://example[.]com/wp-admin/admin-ajax.php?action=update_attachment_wccmo corpo POST wccm_default_keys_load=1,2,3,4,5,6,7,8,9,10.

Próximos passos
O autor do plugin, Visser Labs, corrigiu esses problemas na versão 4.3 do WooCommerce Checkout Manager. É aconselhável que todos os sites que façam uso da atualização do plugin o mais rápido possível. Para sites que não foram corrigidos, uma nova regra de firewall do Wordfence foi implantada para evitar o abuso da falha de exclusão de mídia. Os usuários premium têm acesso imediato a essa nova regra e os usuários gratuitos terão acesso em trinta dias. Usuários gratuitos e premium já se beneficiam de regras internas que também oferecem proteção contra a vulnerabilidade de upload de arquivos.
No momento, não identificamos uma exploração significativa de nenhuma dessas vulnerabilidades. Continuaremos a monitorar atividades relacionadas e emitiremos novos relatórios, se necessário.
Agradecemos a Ram Gall, da equipe de QA da Defiant, pela descoberta da vulnerabilidade de exclusão de mídia.

Fonte: WordFence

Suporte Técnico

hostcuritiba

A HOSTCURITIBA é uma empresa de Hospedagem de Sites, Registro de domínios e especializada em apoio técnico e proteção de servidores para hospedagem em nuvem. Apoio 24x7 e monitoramento grátis para seu site. Central de vendas (41) 3014-8891 - contato@hostcuritiba.net.br