Falha formidável nos formulários permite que invasores paguem menos por compras caras
Uma vulnerabilidade no plugin Formidable Forms WordPress instalado em mais de 300.000 sites permite que invasores não autenticados contornem a verificação de pagamento. A vulnerabilidade afeta todas as versões até 6.28 inclusive. Ele possibilita que invasores reutilizem um pagamento Stripe feito por um valor menor para marcar uma transação mais cara como paga.
Plug-in de formulários formidável
O plugin Formidable Forms é um construtor de formulários de arrastar e soltar usado por sites WordPress para criar formulários de contato, pesquisas, formulários de registro e formulários de pagamento. Os sites o utilizam com processadores de pagamento (como PayPal e Stripe) para receber pagamentos de serviços, assinaturas, produtos digitais e inscrições em eventos.
Vulnerável a invasores não autenticados
O que torna esta vulnerabilidade especialmente preocupante é que ela não requer autenticação. Um invasor não precisa fazer login ou obter acesso de assinante para explorar a falha. Isso torna mais fácil para os invasores aproveitarem a fraqueza da validação de pagamento.
A vulnerabilidade foi atribuída CVE-2026-2890 e carrega uma pontuação de gravidade CVSS de 7,5/10, que é classificada como Alta.
Ignorar integridade de pagamento
A vulnerabilidade se deve à falta de validação na função handle_one_time_stripe_link_return_url. A função marca os registros de pagamento como completos com base apenas no status Stripe PaymentIntent. Isso possibilita que os invasores reutilizem um PaymentIntent válido por uma taxa menor para aprovar uma compra mais cara.
A função verify_intent() valida apenas que o segredo do cliente pertence ao usuário. Ele não vincula o PaymentIntent ao envio de um formulário específico. Não verifica se o valor cobrado corresponde ao valor que o cliente deveria pagar.
De acordo com o Wordfence:
“O plug-in Formidable Forms para WordPress é vulnerável a um desvio de integridade de pagamento em todas as versões até 6.28, inclusive. Isso se deve ao manipulador de retorno Stripe Link (`handle_one_time_stripe_link_return_url`) marcando os registros de pagamento como completos com base apenas no status Stripe PaymentIntent sem comparar o valor cobrado da intenção com o valor de pagamento esperado, e a função `verify_intent()` validando apenas a propriedade do segredo do cliente sem vincular intenções a formulários específicos ou ações.
Isso possibilita que invasores não autenticados reutilizem um PaymentIntent de um pagamento concluído de baixo valor para marcar um pagamento de alto valor como concluído, ignorando efetivamente o pagamento por bens ou serviços.”
Isso possibilita que invasores não autenticados concluam uma pequena transação de baixo custo e depois reutilizem esse PaymentIntent para aprovar uma transação mais cara sem pagar o preço total.
Esta vulnerabilidade não permite a execução remota de código ou comprometimento direto do servidor. Mas permite que os atacantes obtenham bens ou serviços sem pagar o preço exigido.
Versões e patches afetados
Todas as versões até 6.28 inclusive são afetadas. Os usuários do plugin Formidable Forms são incentivados pelo Wordfence a atualizar para a versão 6.29 ou mais recente para resolver a vulnerabilidade.
