Plugins vulneráveis

Vulnerabilidades do ACF: cronologia, exploits e correções

ACF: falhas, exploits e correções

O Advanced Custom Fields (ACF) estrutura os conteúdos de mais de 2 milhões de sites WordPress, e o registro de CVE lhe atribui 18 falhas publicadas entre janeiro de 2020 e o início de julho de 2026. Nenhuma é crítica, mas um XSS de 2023 foi atacado já no dia seguinte à sua publicação, e o plugin viveu em outubro de 2024 um episódio único: a sua tomada pelo WordPress.org em nome da segurança. Veja a cronologia, as falhas que importam e as configurações certas.

O Advanced Custom Fields em resumo

O ACF acrescenta campos personalizados (texto, imagem, relação, repetidor...) aos conteúdos, usuários ou páginas de opções. Publicado no wordpress.org desde março de 2011, o plugin pertenceu à Delicious Brains antes de ser comprado pela WP Engine, junto com outros quatro plugins, em junho de 2022. Ele existe em versão gratuita e em versão paga, o ACF Pro. O diretório oficial exibe mais de 2 milhões de instalações ativas (wordpress.org).

Agências e freelancers o usam como base de sites sob medida, com temas construídos em torno de get_field() e the_field(). O ACF manipula, portanto, dados inseridos por todas as funções e, às vezes, por visitantes anônimos via os seus formulários públicos (acf_form()). E ele é difícil de remover: o tema depende dele.

Cronologia das falhas desde 2020

Contamos as vulnerabilidades do ACF (gratuito e Pro) que receberam um identificador CVE, segundo os registros do cve.org, para alertas publicados de 1º de janeiro de 2020 a 4 de julho de 2026: 18 falhas, todas corrigidas. Soma-se a elas uma falha publicada pelo WPScan em maio de 2026 sem CVE. O WPScan e a Patchstack omitem cada um algumas falhas, especialmente as relatadas via o JPCERT japonês.

Linha do tempo do Advanced Custom Fields: XSS corrigido na 5.8.12 em 10 de junho de 2020, três controles de acesso ausentes em 2 de dezembro de 2021, envio de arquivos sem conta em 25 de julho de 2022, injeção de objeto PHP em 10 de abril de 2023, XSS refletido CVE-2023-30777 em 5 de maio de 2023 com tentativas de ataque observadas pela Akamai, XSS de colaborador em 17 de janeiro de 2024, falha relatada pela Automattic em 7 de outubro de 2024, fork como Secure Custom Fields em 12 de outubro de 2024, página devolvida à WP Engine em dezembro de 2024, leitura de conteúdos privados em 14 de abril de 2026 e alteração de posts sem conta em 30 de maio de 2026
Onze datas-chave: falhas sobretudo médias, um XSS atacado em 2023 e a crise de outubro de 2024.
PublicaçãoCorrigida naTipoCVSSCVEConta necessária
10 de junho de 2020 (correção)5.8.12XSS nas listas suspensas6,1 (NVD)CVE-2020-36172Nenhuma (clique de uma vítima)
2 de dezembro de 20215.11Três controles de acesso ausentes6,5 a 7,5 (NVD)CVE-2021-20865, CVE-2021-20866, CVE-2021-20867Nenhuma a assinante, conforme a falha
30 de março de 20225.12.1Acesso não autorizado a dados6,5 (NVD)CVE-2022-23183Colaborador
25 de julho de 20225.12.3 (afetadas: da 5.0 à 5.12.2)Envio de arquivos via um formulário público8,8 (NVD)CVE-2022-2594Nenhuma
18 de outubro de 20226.0.3 (afetadas: da 3.1.1 à 6.0.2)Exposição de valores de campos3,7 (Patchstack), 7,5 (NVD)CVE-2022-40696Nenhuma segundo a Patchstack
10 de abril de 20235.12.5 e 6.1.0 (afetadas: 5.x anteriores à 5.12.5, 6.x anteriores à 6.1.0)Injeção de objeto PHP8,8 (NVD)CVE-2023-1196Colaborador
5 de maio de 20236.1.6 e 5.12.6XSS refletido (tentativas de ataque documentadas)7,1 (Patchstack), 6,1 (NVD)CVE-2023-30777Nenhuma (clique de um usuário conectado)
17 de janeiro de 20246.2.5XSS armazenado via o shortcode6,4 (Wordfence), 5,4 (NVD)CVE-2023-6701Colaborador
30 de maio de 20246.3.0Leitura de campos via o shortcode6,5 (NVD)CVE-2024-4565Colaborador
9 de outubro de 20246.3.8, reforçada na 6.3.9Chamada limitada de funções5,4 (Patchstack), 6,6 (CISA)CVE-2024-9529Administrador
15 de outubro de 20246.3.9 (afetadas: Anteriores à 6.3.9, e Secure Custom Fields anterior à 6.3.6.3)XSS armazenado no editor de grupos de campos5,3 (CISA)CVE-2024-49593Administrador
14 de abril de 20266.7.1Leitura de conteúdos privados via AJAX5,3 (Wordfence)CVE-2026-4812Nenhuma (formulário público)
27 de maio de 20266.8.2Alteração de campos via um formulário público5,3 (WPScan)NenhumNenhuma
30 de maio de 20266.8.2Alteração do título e do conteúdo de posts5,3 (Wordfence)CVE-2026-8382Nenhuma (formulário público)
As falhas notáveis do ACF publicadas de 1º de janeiro de 2020 a 4 de julho de 2026 (registro de CVE, mais uma entrada do WPScan sem CVE)

As datas são as do primeiro alerta público (para 2020, a da correção). A pontuação é a do órgão que atribuiu a CVE ou, na falta dela, a da NVD ou da CISA. A maioria das falhas também afetava o ACF Pro, corrigido nas mesmas versões. Quatro falhas ausentes da tabela exigiam uma conta de administrador ou o acesso às configurações do ACF: XSS armazenados ou injeções de HTML em rótulos, corrigidos na 6.1.8 (2023), na 6.3.6 e na 6.3.9 (2024) e na 6.4.3 (2025).

As falhas marcantes explicadas

Julho de 2022: arquivos enviados sem conta (CVE-2022-2594)

James Golovich (Pritect) descobriu que, desde a reescrita da versão 5.0, os campos de envio de arquivos "básicos" dos formulários públicos do ACF não eram protegidos por um token de segurança (nonce). Em um site que expunha um formulário desse tipo, um visitante anônimo podia enviar arquivos: não PHP, bloqueado pelo WordPress, mas qualquer tipo permitido, utilizável segundo o pesquisador para um ataque posterior ou para phishing. Desenvolvedor contatado em 11 de julho de 2022, versão 5.12.3 publicada no dia 14, alerta público no dia 25: um calendário exemplar. A NVD dá nota 8,8 à falha.

Abril de 2023: injeção de objeto PHP por um colaborador (CVE-2023-1196)

O ACF desserializava certos dados controláveis pelo usuário. Uma conta de Colaborador podia assim injetar um objeto PHP, o que só se torna perigoso na presença de uma "cadeia de gadgets" fornecida por outro plugin ou pelo tema. Relatada por Nguyen Huu Do via WPScan, a falha tem nota 8,8 da NVD. As versões 6.1.0 e 5.12.5, publicadas em 3 e 4 de abril de 2023, passaram a proibir a desserialização de classes. O mecanismo está detalhado no nosso artigo sobre a injeção de objeto PHP.

Maio de 2023: o XSS refletido atacado em menos de 48 horas (CVE-2023-30777)

Rafie Muhammad, da Patchstack, constatou que o parâmetro post_status da tela de grupos de campos era adicionado às classes CSS da página de administração após um simples sanitize_text_field, insuficiente porque o WordPress exibe essas classes sem escapá-las. Um atacante sem conta podia criar um link que, aberto por um administrador conectado, executava JavaScript no navegador dele. A Patchstack dá nota 7,1 à falha, a NVD 6,1. Esse tipo de ataque é explicado no nosso artigo sobre as falhas XSS no WordPress.

Relatada em 2 de maio de 2023, a falha foi corrigida em 4 de maio na 6.1.6, com um backport da correção na 5.12.6, e a Patchstack publicou a sua análise com um exemplo de requisição em 5 de maio. A Akamai observou já em 6 de maio uma atividade importante de varredura e de tentativas de ataque que retomavam palavra por palavra o exemplo da Patchstack, em sites de todos os setores. A Akamai não diz se sites foram comprometidos, e a Patchstack informou em 16 de maio não ter visto tentativas concretas entre os seus clientes.

2024: o shortcode do ACF e o escape das saídas

O shortcode [acf] foi o ponto fraco de 2022 a 2024. Em janeiro de 2024, Francesco Carlucci e a Wordfence mostraram que um colaborador sem a permissão unfiltered_html podia gravar HTML malicioso em um metadado e exibi-lo via esse shortcode (CVE-2023-6701, relatada em 12 de dezembro de 2023, corrigida na 6.2.5 em 16 de janeiro de 2024). Em maio, a CVE-2024-4565 mostrava que o mesmo shortcode exibia os campos de qualquer post sem verificar as permissões. O desenvolvedor foi além da correção: shortcode desativado por padrão nas novas instalações desde a 6.3.0, e remoção do HTML perigoso por the_field() anunciada para a 6.2.7.

2026: os formulários públicos na mira

As três falhas de 2026 têm um ponto em comum: elas miram os formulários públicos do ACF e não exigem nenhuma conta. A CVE-2026-4812, relatada por Fernando Mecozzi e publicada pela Wordfence em 14 de abril, permitia obter, via as requisições AJAX dos campos Relação ou Objeto, informações sobre rascunhos e conteúdos privados, contornando as restrições configuradas. A correção, na 6.7.1, tinha saído já em 3 de março. No fim de maio, Sarawut Poolkhet publicou duas falhas corrigidas na 6.8.2 (26 de maio): uma permitia alterar qualquer campo do post ligado ao formulário, mesmo um campo não exibido, a outra sobrescrever o seu título e o seu conteúdo (CVE-2026-8382). Todas têm nota 5,3, mas atingem sem autenticação a confidencialidade ou a integridade dos conteúdos.

Outubro de 2024: o ACF tomado pelo WordPress.org

Esse episódio mistura segurança e conflito judicial. Em 25 de setembro de 2024, Matt Mullenweg anuncia no WordPress.org que a WP Engine, em litígio com ele, não tem mais acesso gratuito aos recursos do site. A equipe do ACF não pode mais publicar no diretório e cria o seu próprio canal de atualização.

Em 7 de outubro, o ACF publica a versão 6.3.8, que corrige uma falha relatada pela equipe de segurança da Automattic (CVE-2024-9529): um administrador podia fazer executar funções PHP via as funções de callback dos tipos de conteúdo e taxonomias criados com o ACF, especialmente pela importação de configurações. O desenvolvedor a descreve como um cenário "pouco provável" entre dois administradores; a Patchstack a classifica como de prioridade baixa, "pouco suscetível de ser explorada". O ACF informa ter enviado uma cópia da correção à equipe de segurança do WordPress.org, que a publicou na 6.3.6.1.

Em 12 de outubro, o WordPress.org anuncia, em nome da sua equipe de segurança, invocar o item 18 das regras do diretório para criar um fork do ACF chamado Secure Custom Fields (SCF), a fim de, segundo ele, corrigir um problema de segurança e remover os incentivos comerciais. Os sites que recebem as atualizações automáticas do WordPress.org são migrados para o SCF. O texto fala de uma situação "rara e incomum" provocada pelas ações judiciais da WP Engine. A equipe do ACF responde no mesmo dia que um plugin em desenvolvimento ativo nunca havia sido retirado do seu criador sem o seu consentimento, considera esse código "não aprovado" e convida os seus usuários a baixar a 6.3.8 pelo seu site.

Três dias depois, um mesmo XSS armazenado, restrito a administradores, era corrigido nas duas branches (CVE-2024-49593, ACF 6.3.9 e SCF 6.3.6.3): um fork também herda as falhas do código de origem. Em 10 de dezembro de 2024, um tribunal federal da Califórnia ordenou, em caráter provisório, devolver à WP Engine o acesso ao WordPress.org e o controle da página do ACF; a Automattic vê nisso uma medida destinada a manter o status quo e prossegue com o processo. Em meados de dezembro, a página voltou à WP Engine, enquanto o SCF continua com o seu próprio nome, publicado pelo WordPress.org.

Para o proprietário de um site, a lição não é escolher um lado, mas saber de onde vêm as suas atualizações: em outubro de 2024, uma atualização automática podia substituir um plugin por outro. Verifique se você usa o ACF ou o SCF e se esse canal fornece de fato as correções. Esse risco ligado ao canal de distribuição é desenvolvido no nosso artigo sobre os ataques à cadeia de suprimentos.

A migração do ACF para o Secure Custom Fields apresentada pelo WP Minute em 12 de outubro de 2024 (em inglês).

O que este histórico mostra

Gráfico das falhas do ACF com CVE por ano segundo o registro de CVE: 1 média em 2020, 1 alta e 2 médias em 2021, 1 alta, 1 média e 1 baixa em 2022, 2 altas e 1 média em 2023, 5 médias em 2024, 1 baixa em 2025, 2 médias em 2026 até 4 de julho
18 CVE em seis anos e meio, nenhuma crítica, com um pico em 2024.
  • Nenhuma falha crítica, mas falhas sem conta: oito das dezenove falhas não exigem nenhuma conta do atacante, seja por um link malicioso, seja, quatro vezes, por um formulário público.
  • O controle de acesso volta sem parar: leitura de dados, de campos ou de conteúdos privados em 2021, 2022, 2024 e 2026. Cada nova forma de exibir os campos (shortcode, AJAX, formulário) precisou ser trancada depois.
  • As funções intermediárias contam: quatro falhas exigem apenas uma conta de Colaborador. Limite essas contas ao estritamente necessário (veja o nosso artigo sobre as funções e o privilégio mínimo).
  • As correções são rápidas: três dias para o envio de arquivos em 2022, dois dias para o XSS de 2023. Em abril de 2026, a correção precedeu o alerta em seis semanas.

Para situar o ACF no panorama, consulte a nossa cronologia das falhas do núcleo do WordPress e a nossa análise das falhas dos plugins em números.

Como se proteger

  • Atualize: qualquer versão 6.8.2 ou posterior corrige todas as falhas da tabela.
  • Ative as atualizações automáticas para o ACF (atualizações automáticas de plugins).
  • Audite os seus formulários públicos: se você usa acf_form(), limite os campos expostos com a opção fields e remova os que não servem mais. Deixe o shortcode desativado se o seu tema não o usa.
  • Exclua os plugins desnecessários, inclusive um ACF ou um SCF que não serve mais (plugins abandonados).
  • Adicione um firewall de aplicação capaz de aplicar correções virtuais para cobrir as horas que seguem um alerta (comparativo de WAF) e monitore as vulnerabilidades dos seus plugins (monitorar as vulnerabilidades dos plugins).

O WP Masquerade Pro pode ajudar você neste último ponto. Todos os dias, ele compara as versões dos seus plugins e temas instalados com a base pública WPVulnerability.net e envia a você um alerta de vulnerabilidade por e-mail com a gravidade e a versão corrigida. A área de membros lista as atualizações pendentes e os sites vulneráveis (monitoramento dos seus sites). O WP Masquerade alerta, ele não corrige os plugins e não é um firewall: a atualização continua sendo o seu gesto decisivo. Para completar o seu arsenal, consulte a nossa seleção dos melhores plugins de segurança para WordPress.

Para lembrar

  • 18 falhas do ACF com CVE de 1º de janeiro de 2020 a 4 de julho de 2026, nenhuma crítica, todas corrigidas.
  • O XSS CVE-2023-30777 foi alvo de tentativas de ataque menos de 48 horas após a correção.
  • Versão mínima recomendada: 6.8.2; instale a mais recente.
  • Os formulários públicos (acf_form()) e o shortcode são os pontos sensíveis: limite-os.
  • Desde outubro de 2024, verifique se você usa o ACF ou o Secure Custom Fields, e de onde vêm as suas atualizações.

Fontes

  • WordPress.org: plugin Advanced Custom Fields (ACF®) (link externo, abre em uma nova aba)
  • NVD: CVE-2022-2594 (22 de agosto de 2022) (link externo, abre em uma nova aba)
  • CVE.org: CVE-2023-30777 (10 de maio de 2023) (link externo, abre em uma nova aba)
  • WordPress.org: WP Engine is banned from WordPress.org (25 de setembro de 2024) (link externo, abre em uma nova aba)

Outras fontes consultadas: outros registros CVE, páginas oficiais dos fornecedores, publicações de pesquisadores de segurança, artigos da imprensa especializada, bancos de dados WPScan e Patchstack.

Segurança WordPress, sem ruído

Um e-mail quando importa: novos ataques observados, atualizações do plugin e guias práticos. Sem spam, cancelamento com um clique.

Comece de graça e mude para o Pro quando estiver pronto

A versão gratuita já oculta o WordPress e muda o endereço da página de login. O Pro acrescenta aliases, verificação em duas etapas e monitoramento.