Vulnerabilidade crítica detectada no WooCommerce em 13 de julho de 2021 – O que você precisa saber

Publicados: 2021-07-15

Última atualização: 23 de julho de 2021

Em 13 de julho de 2021, uma vulnerabilidade crítica relacionada ao WooCommerce e ao plug-in de recurso WooCommerce Blocks foi identificada e divulgada com responsabilidade pelo pesquisador de segurança Josh, por meio de nosso programa de segurança HackerOne.

Ao saber sobre o problema, nossa equipe imediatamente realizou uma investigação completa, auditou todas as bases de código relacionadas e criou um patch para corrigir o problema para cada versão afetada (mais de 90 lançamentos) que foi implantada automaticamente em lojas vulneráveis.

Eu tenho uma loja WooCommerce – que ações devo tomar?

As atualizações automáticas de software para o WooCommerce 5.5.1 começaram a ser lançadas em 14 de julho de 2021 em todas as lojas que executam as versões afetadas de cada plug-in, mas ainda recomendamos que você verifique se está usando a versão mais recente. Para WooCommerce, isso é 5.5.2 * ou o número mais alto possível em sua ramificação de lançamento. Se você também estiver executando o WooCommerce Blocks, deverá usar a versão 5.5.1 desse plug-in.

Importante : Com o lançamento do WooCommerce 5.5.2 em 23 de julho de 2021, o processo de atualização automática mencionado acima foi descontinuado.

Depois de atualizar para uma versão corrigida, também recomendamos:

  • Atualizar as senhas de qualquer usuário administrador em seu site, especialmente se eles reutilizarem as mesmas senhas em vários sites
  • Rotação de quaisquer chaves de API do Gateway de Pagamento e WooCommerce usadas em seu site.

Há mais informações sobre essas etapas abaixo.

* O WooCommerce 5.5.2 foi lançado em 23 de julho de 2021. As correções contidas nesta versão não estão relacionadas à recente vulnerabilidade de segurança.

Como saber se minha versão está atualizada?

A tabela abaixo contém a lista completa de versões corrigidas para WooCommerce e WooCommerce Blocks. Se você estiver executando uma versão do WooCommerce ou WooCommerce Blocks que não está nesta lista, atualize imediatamente para a versão mais alta em sua ramificação de lançamento.

Versões corrigidas do WooCommerce Versões corrigidas do WooCommerce Blocks
3.3.6 2.5.16
3.4.8 2.6.2
3.5.9 2.7.2
3.6.6 2.8.1
3.7.2 2.9.1
3.8.2 3.0.1
3.9.4 3.1.1
4.0.2 3.2.1
4.1.2 3.3.1
4.2.3 3.4.1
4.3.4 3.5.1
4.4.2 3.6.1
4.5.3 3.7.2
4.6.3 3.8.1
4.7.2 3.9.1
4.8.1 4.0.1
4.9.3 4.1.1
5.0.1 4.2.1
5.1.1 4.3.1
5.2.3 4.4.3
5.3.1 4.5.3
5.4.2 4.6.1
5.5.1 4.7.1
5.5.2 4.8.1
4.9.2
5.0.1
5.1.1
5.2.1
5.3.2
5.4.1
5.5.1

Por que meu site não recebeu a atualização automática?

Seu site pode não ter sido atualizado automaticamente por vários motivos, alguns dos mais prováveis ​​são: você está executando uma versão anterior à impactada (abaixo do WooCommerce 3.3), as atualizações automáticas foram explicitamente desabilitadas em seu site, seu sistema de arquivos está somente leitura ou existem extensões potencialmente conflitantes impedindo a atualização.

Em todos os casos (exceto no primeiro exemplo, onde você não é afetado), você deve tentar atualizar manualmente para a versão mais recente corrigida em seu branch de lançamento (por exemplo, 5.5.2, 5.4.2, 5.3.1, etc), conforme listado em a tabela acima.

Algum dado foi comprometido?

Com base nas evidências atuais disponíveis, acreditamos que qualquer exploração foi limitada.

Se uma loja foi afetada, as informações expostas serão específicas para o que esse site está armazenando, mas podem incluir pedidos, clientes e informações administrativas.

Como posso verificar se minha loja foi explorada?

Devido à natureza dessa vulnerabilidade e à maneira extremamente flexível como o WordPress (e, portanto, o WooCommerce) permite que as solicitações da Web sejam tratadas, não há uma maneira definitiva de confirmar uma exploração. Você pode detectar algumas tentativas de exploração revisando os logs de acesso do seu servidor web (ou obtendo ajuda de seu host da web para fazer isso). Solicitações nos seguintes formatos vistos entre dezembro de 2019 e agora provavelmente indicam uma tentativa de exploração:

  • REQUEST_URI correspondente à expressão regular /\/wp-json\/wc\/store\/products\/collection-data.*%25252.*/
  • REQUEST_URI correspondente à expressão regular /.*\/wc\/store\/products\/collection-data.*%25252.*/ (observe que esta expressão não é eficiente/é lenta para executar na maioria dos ambientes de log)
  • Qualquer solicitação não GET (POST ou PUT) para /wp-json/wc/store/products/collection-data ou /?rest_route=/wc/store/products/collection-data

As solicitações que vimos explorando essa vulnerabilidade vêm dos seguintes endereços IP, com mais de 98% provenientes do primeiro da lista. Se você vir algum desses endereços IP em seus logs de acesso, deve presumir que a vulnerabilidade estava sendo explorada:

  • 137.116.119.175
  • 162.158.78.41
  • 103.233.135.21

Quais senhas preciso alterar?

É improvável que sua senha tenha sido comprometida, pois está em hash.

As senhas de usuários do WordPress são hash usando sais, o que significa que o valor de hash resultante é muito difícil de quebrar. Essa abordagem de hash salgado protege sua senha como usuário administrador e também as senhas de quaisquer outros usuários em seu site, incluindo clientes. Embora seja possível que a versão com hash de sua senha armazenada em seu banco de dados tenha sido acessada por meio dessa vulnerabilidade, o valor de hash deve ser indiscernível e ainda proteger suas senhas contra uso não autorizado.

Isso pressupõe que seu site esteja usando o gerenciamento de senha padrão do WordPress para usuários. Dependendo dos plugins que você instalou em seu site, você pode ter senhas ou outras informações confidenciais armazenadas de maneiras menos seguras.

Se algum dos usuários Administradores em seu site tiver reutilizado as mesmas senhas em vários sites, recomendamos que você atualize essas senhas caso suas credenciais tenham sido comprometidas em outro lugar.

Também recomendamos alterar quaisquer dados privados ou secretos armazenados em seu banco de dados WordPress/WooCommerce. Isso pode incluir chaves de API, chaves públicas/privadas para gateways de pagamento e muito mais, dependendo da configuração específica da sua loja.

Como desenvolvedor de extensão ou provedor de serviços, devemos alertar nossos comerciantes WooCommerce?

Se você trabalha com qualquer loja ou comerciante WooCommerce ao vivo, recomendamos que você trabalhe com eles para garantir que eles saibam sobre esse problema e/ou atualizem sua loja para uma versão segura.

Se você criou uma extensão ou oferece um serviço SaaS que depende da API WooCommerce, recomendamos que você ajude os comerciantes a redefinir as chaves para se conectar ao seu serviço.

Como dono de loja, devo alertar meus clientes?

Se você alerta seus clientes, em última análise, depende de você. Suas obrigações de notificar os clientes ou redefinir coisas como senhas variam dependendo de detalhes como a infraestrutura do site, onde você e seus clientes estão localizados geograficamente, quais dados seu site está coletando e se o site foi comprometido ou não.

A ação mais importante que você pode tomar para proteger seus clientes é atualizar sua versão do WooCommerce para uma versão que foi corrigida com uma correção para essa vulnerabilidade.

Após a atualização, recomendamos:

  • Atualizar as senhas de qualquer usuário Administrador em seu site, especialmente se você reutilizar as mesmas senhas em vários sites
  • Rotação de quaisquer chaves de API do Gateway de Pagamento e WooCommerce usadas em seu site.

Como proprietário da loja, em última análise, é sua decisão se deseja tomar precauções adicionais, como redefinir as senhas de seus clientes. As senhas de usuário do WordPress (e, portanto, do WooCommerce) são criptografadas usando sais, o que significa que o valor de hash resultante é muito difícil de decifrar. Essa abordagem de hash salgado é aplicada a todas as senhas de usuário em seu site, incluindo as senhas de seus clientes.

O WooCommerce ainda é seguro de usar?

sim.

Incidentes como esse são incomuns, mas infelizmente às vezes acontecem. Nossa intenção é sempre responder imediatamente e operar com total transparência.

Desde que soube da vulnerabilidade, a equipe trabalhou 24 horas por dia para garantir que uma correção fosse implementada e que nossos usuários fossem informados.

Nosso investimento contínuo na segurança da plataforma nos permite evitar a grande maioria dos problemas - mas nos raros casos que podem afetar as lojas, nos esforçamos para corrigir rapidamente, nos comunicar de forma proativa e trabalhar em colaboração com a Comunidade WooCommerce.

E se eu ainda tiver dúvidas?

Se você tiver mais dúvidas ou perguntas sobre esse problema, nossa equipe de Happiness Engineers está à disposição para ajudar - abra um ticket de suporte.