Fri. Jul 26th, 2024

O plugin ACF (Campos personalizados avançados) é um recurso muito utilizado no WordPress, com mais de 2 milhões de instalações. Recentemente, foi lançada a versão 6.2.5, que inclui uma atualização de segurança. Essa atualização tem como objetivo corrigir uma vulnerabilidade, porém, poucos detalhes foram divulgados sobre a gravidade do problema.

Apesar de não se saber quais tipos de exploits são possíveis ou o quanto de dano um atacante poderia causar, ACF recomendou que a vulnerabilidade exige um nível de acesso de contribuinte ou superior, o que dificulta, em certa medida, a realização de um ataque.

Versão 6.2.5 de ACF – Maio: Apresentar modificações de quebra.

O aviso de liberação de segurança alertou que as alterações implementadas na atualização poderiam causar problemas nos sites e forneceu orientações sobre como resolver essas alterações.

A nova versão 6.2.5 traz uma importante alteração na forma como o shortcode ACF lida com conteúdo HTML potencialmente inseguro. Agora, a saída será devidamente protegida, passando por um processo de segurança que elimina qualquer HTML indesejado, como scripts maliciosos ou HTML malformado, garantindo assim a segurança do HTML renderizado.

No entanto, essa alteração pode causar problemas para os sites que utilizam o shortcode para exibir elementos HTML mais complicados, como scripts ou iframes, mesmo que isso melhore a segurança.

Tags que têm o potencial de serem utilizadas de forma indevida, como

Libertação de segurança fora do comum e complicada.

Essa atualização de segurança é diferente porque, geralmente, um pesquisador de segurança informa secretamente ao editor de plugins WordPress sobre uma vulnerabilidade e o editor lança silenciosamente uma atualização para corrigir o problema. Normalmente, os pesquisadores de segurança esperam algumas semanas antes de fazer um anúncio público, permitindo que os usuários tenham tempo para atualizar seus plugins antes que a vulnerabilidade se torne amplamente conhecida.

Leia Mais:   Qual é o motivo pelo qual o Google SGE está retido no Google Labs e o que está por vir?

Essa vulnerabilidade não é uma exceção, pois é complexa devido ao risco de interrupção nas mudanças. Portanto, o ACF está tomando a iniciativa de anunciar o lançamento de uma atualização de segurança e alertar os usuários sobre possíveis problemas que essa correção pode causar. Esses problemas podem ser minimizados, mas apenas com alterações feitas pelos usuários do ACF.

6.2.7 Previsto para fevereiro de 2024, haverá outro dispositivo de segurança.

A dificuldade em corrigir essa vulnerabilidade levou à decisão de lançar uma segunda atualização de segurança em fevereiro deste ano, chamada versão 6.2.7. Isso permitirá que os usuários do plugin tenham mais tempo para se prepararem e evitem possíveis alterações que possam causar problemas.

A nova versão 6.2.7 do ACF irá aumentar a segurança das funções o_field() e o_sub_field(). Os administradores do site devem estar cientes de possíveis alterações no código HTML e revisar a compatibilidade de seu site com essas mudanças.

Também é possível adicionar manualmente as alterações da versão 6.2.7. ACF sugere que se você não estiver armazenando HTML inseguro ou já estiver escapando os dados, pode optar por adotar o novo comportamento de remover o HTML inseguro e gerar um relatório de erro no painel de administração do WordPress usando o filtro a seguir.

Explicação da fragilidade ou falha de segurança.

A atualização é necessária devido a uma falha de segurança encontrada, que permite que usuários com funções de contribuinte, normalmente limitados a postar HTML não filtrado, insiram código malicioso. Isso significa que os protocolos de limpeza padrão da ACF são ignorados, o que representa um risco de segurança.

Com o intuito de resolver esse problema de segurança, a versão 6.2.5 do ACF irá identificar e eliminar código HTML inseguro das saídas de shortcode. Caso algum campo seja afetado, mensagens de erro serão exibidas na área de administração do WordPress, auxiliando os proprietários do site na identificação e solução dos erros.

Leia Mais:   11 recursos de comunicação empresarial para melhorar a eficiência da equipe.

Futuras alterações para a função o_field().

A partir da versão 6.2.5, a função the_field() será revisada para garantir a segurança e a função sub_field() sofrerá alterações na versão 6.2.7. Essas funções terão medidas de segurança HTML implementadas por padrão para evitar a exibição de conteúdo potencialmente prejudicial.

Seguindo o comunicado:

Essa versão é uma atualização de segurança que inclui uma mudança significativa que você deve saber antes de atualizar e se preparar para uma próxima alteração na saída do campo que será implementada em breve para ACF.

A partir da versão 6.2.5 do ACF, quando usar o ACF Shortcode para exibir um campo ACF, será aplicada a função wp_kses do WordPress para escapar o HTML.

Isso pode ser uma mudança radical se você estiver utilizando o shortcode () para gerar HTML arriscado, como scripts ou iframes para campos de texto ou WYSIWYG.

No que diz respeito às alterações futuras na versão 6.2.7, o ACF versão 6.2.5 fornecerá um aviso caso o seu site seja impactado pelas mudanças que serão implementadas na versão 6.2.7, permitindo que você se prepare com antecedência.

Dicas para programadores sobre a utilização segura do ACF.

Os programadores são orientados a ter cuidado ao lidar com a saída HTML. Quando é necessário exibir HTML não filtrado, como tags de script, é recomendado utilizar ‘echo get_field()’. Para outros casos, é aconselhável usar funções de escape adequadas, como ‘wp_kses_post’, para garantir a segurança da saída HTML.

Conforme a página oficial de documentação de segurança do WordPress, em relação à função ‘wp_kses_post’,

Limpa o conteúdo para as tags HTML permitidas para o conteúdo do post.

O post aborda o conteúdo da página do tipo ‘post’ e não os dados de formulários enviados via $_POST.

Leia Mais:   Google deve resolver problemas técnicos antes de buscar a próxima grande novidade.

Essa função aguarda informações que não foram validadas.

A atualização do ACF traz mudanças na manipulação de campos de saída HTML, como oEmbed e WYSIWYG, com o objetivo de equilibrar a necessidade de exibição de HTML com preocupações de segurança.

ACF esclarece:

Adicionamos uma forma de os tipos de campo indicarem que irão tratar da fuga de HTML quando necessário, por meio do parâmetro adicional $escape_html.

A nova opção está disponível nas funções get_field e get_field_object, e é enviada para o método format_value dos campos.

Isso implica que se o campo suporta o uso de escape, ao definir isso como verdadeiro, o valor será escapado.

Os usuários finais devem evitar usar esse argumento, pois também precisam verificar se o tipo de campo foi atualizado para suportar a fuga de HTML. Essa propriedade não terá efeito sobre o valor de cada campo ACF principal que não seja WYSIWYG.

Sugere-se que todos os usuários do ACF atualizem para a versão 6.2.5 o mais rápido possível para reduzir os riscos de segurança detectados. Além disso, é recomendado que aqueles que não utilizam o ACF Shortcode o desativem completamente.

Confira a publicação oficial:

Versão 6.2.5 do ACF, disponibilização de medidas de segurança.

A imagem principal é fornecida pela Shutterstock/Perfect_kebab.