
Advanced Custom Fields: Extended <= 0.9.2.5 - Escalação de Privilégios Não Autenticada via Bypass de Validação no Parâmetro '_acf_post_id'
Advanced Custom Fields: Extended <= 0.9.2.5 - Escalação de Privilégios Não Autenticada via Bypass de Validação para o Parâmetro '_acf_post_id' Esta vulnerabilidade crítica de segurança (CVSS 9.8) afeta todas as versões do popular plugin WordPress Advanced Custom Fields: Extended (ACF Extended) a partir da versão 0.9.2.5.
Embora corrigida na versão 0.9.2.6, a vulnerabilidade funciona da seguinte forma:
Função Problemática: Na raiz da vulnerabilidade está a confiança não verificada que a função after_validate_save_post() aplica ao parâmetro POST chamado _acf_post_id. O plugin não submete esse parâmetro a nenhum processo de validação ou autenticação.
Bypass de Validação: Ao manipular o parâmetro _acf_post_id, o atacante faz com que a função selecione silenciosamente um ramo de limpeza que ignora todos os erros de validação que não carregam o prefixo "acfe:". Isso desativa duas verificações críticas de segurança:
um erro de validação da lista de permissões de função adicionado por acfe_field_user_roles::validate_front_value().
**Erro de proteção de privilégio de administrador adicionado por acfe_module_form_action_user::validate_action().
Criação Não Autorizada de Administrador: Após essas verificações serem contornadas, a função wp_insert_user() é executada com o argumento de papel "administrator" fornecido pelo atacante. Como resultado, uma nova conta de administrador é criada no sistema por um usuário não autenticado, contrariando o propósito pretendido do plugin.
Fluxo Lógico do Código de Exploração O script Python a seguir é uma prova de conceito demonstrando como essa vulnerabilidade pode ser explorada. O código funciona automatizando todas as etapas necessárias.