Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-21627---Tassos-Novarain-Framework-plg_system_nrframework-Exploit---Joomla — Python exploit per CVE-2026-21627, un'inclusione arbitraria di file PHP non autenticata nel framework Novarain di Joomla, che consente upload, eliminazione di file e RCE. | Kitploit
Strumenti/GitHubGitHub/yallasec/cve-2026-21627---tassos-novarain-framework-plg_system_nrframework-exploit---joomla
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingRed TeamingSviluppo Payload
GitHubyallasec/cve-2026-21627---tassos-novarain-framework-plg_system_nrframework-exploit---joomla

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

Python exploit per CVE-2026-21627, un'inclusione arbitraria di file PHP non autenticata nel framework Novarain di Joomla, che consente upload, eliminazione di file e RCE.

Vedi Repository
6 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2026-21627

Inclusione Arbitraria di File Non Autenticata nel Framework Novarain di Joomla (nrframework)

CVSS Joomla Python


Panoramica

Una vulnerabilità critica nel plugin Joomla Tassos/Novarain Framework (plg_system_nrframework) consente ad attaccanti non autenticati di includere file PHP arbitrari sul server, istanziare classi arbitrarie e concatenare con classi gadget integrate per ottenere upload arbitrario di file e cancellazione arbitraria di file — il tutto senza autenticazione.

ID CVECVE-2026-21627
Punteggio CVSS9.5 (Critico)
Pluginplg_system_nrframework (Tassos Framework / Novarain Framework)
Versioni Vulnerabilidalla 4.10.14 alla 6.0.37
Corretto In6.0.38+
CMSJoomla 3.x, 4.x, 5.x

Il plugin nrframework è incluso in diverse estensioni Joomla popolari di Tassos.gr, tra cui Convert Forms, Engage Box, Google Structured Data e altre.

Dettagli della Vulnerabilità

Il metodo ajaxTaskInclude() in nrframework.php è esplicitamente inserito nella whitelist per l'accesso frontend (non-admin) tramite l'array $non_admin_tasks. Accetta tre parametri controllabili dall'utente:

  • path — utilizza il filtro di input RAW (zero sanitizzazione, path traversal possibile)
  • file — utilizza il filtro di input predefinito di Joomla
  • class — nome della classe da istanziare dopo l'inclusione

Il percorso concatenato $path . $file . '.php' viene passato direttamente a @include_once, consentendo l'inclusione arbitraria di file PHP. Dopo l'inclusione, la classe specificata viene istanziata e il suo metodo onAJAX() viene chiamato con parametri controllabili dall'utente.

Primitive di Attacco

PrimitivaGadgetGravitàDescrizione
Inclusione FileajaxTaskInclude()CriticoInclude qualsiasi file .php sul server
Cancellazione FileJFormFieldNRInlineFileUpload::onRemove()Criticounlink() senza validazione del percorso — cancella qualsiasi file scrivibile dal server web
Upload FileJFormFieldNRInlineFileUpload::onUpload()AltoCarica file di testo in qualsiasi directory scrivibile accessibile dal web
Divulgazione PercorsoRisposta di uploadMedioPercorso completo del filesystem divulgato nella risposta JSON

Utilizzo

root@kitploit:~
python3 cve_2026_21627.py --target <URL> --mode <MODO> [OPZIONI]

Modalità

ModalitàDescrizioneRischio
verifyConferma l'esistenza della vulnerabilitàSicuro / Sola lettura
uploadCarica un file in una directory controllataMedio
deleteCancella un file arbitrario sul serverDistruttivo
rceTenta la catena RCE completa (upload + esecuzione)Alto
infoInclude un file PHP arbitrario per ricognizioneMedio

Esempi

Verifica della vulnerabilità:

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

Upload di un file proof-of-concept:

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

Upload di una shell SSI (richiede Apache mod_include):

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

Tentativo di catena RCE:

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

Cancellazione di un file (distruttivo):

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

Opzioni

root@kitploit:~
--target, -t       URL di destinazione (obbligatorio)
--mode, -m         Modalità di exploit: verify|upload|delete|rce|info (obbligatorio)
--sef-prefix       Prefisso URL SEF di Joomla (predefinito: /it/)
--delay            Ritardo tra le richieste in secondi (predefinito: 2.5)
--proxy            Proxy HTTP (es. http://127.0.0.1:8080)
--no-ssl-verify    Disabilita la verifica del certificato SSL

Modalità upload:
  --shell-type     Tipo di file: shtml|csv|txt|html (predefinito: shtml)
  --upload-dir     Directory di upload relativa a JPATH_ROOT (predefinito: images)
  --custom-content Contenuto personalizzato del file da caricare

Modalità delete:
  --file-path      Percorso completo sul server del file da cancellare

Modalità RCE:
  --cmd            Comando da eseguire (predefinito: id)

Modalità info:
  --php-path       Percorso del file PHP relativo a JPATH_SITE
  --php-file       Nome del file PHP senza estensione .php
  --php-class      Classe PHP da istanziare

Come Funziona

root@kitploit:~
┌──────────────┐    ┌───────────────────┐    ┌─────────────────────┐
│   Attaccante │───>│  onAjaxNrframework │───>│  ajaxTaskInclude()  │
│              │    │  (router AJAX)     │    │                     │
│ task=include │    │  include è in      │    │ path = input RAW    │
│ path=...     │    │  $non_admin_tasks  │    │ @include_once $path │
│ file=...     │    │  (nessuna auth)    │    │ new $class()->onAJAX│
│ class=...    │    └───────────────────┘    └──────────┬──────────┘
└──────────────┘                                        │
                                                        v
                               ┌─────────────────────────────────────┐
                               │  JFormFieldNRInlineFileUpload       │
                               │  (classe gadget)                    │
                               │                                     │
                               │  onAjax() ──> onUpload()  [SCRITTURA]│
                               │           ──> onRemove()  [CANCELLA]│
                               └─────────────────────────────────────┘
  1. Sessione e CSRF — Joomla crea le sessioni in modo lazy. L'exploit attiva la creazione della sessione sondando l'endpoint AJAX, quindi estrae il token CSRF dall'HTML della homepage.
  2. Inclusione File — Il task include viene chiamato con un path controllato (filtro RAW = nessuna sanitizzazione) che punta al file gadget.
  3. Esecuzione del Gadget — La classe inclusa JFormFieldNRInlineFileUpload fornisce onUpload() per la scrittura di file e onRemove() per la cancellazione di file, entrambi con validazione dell'input insufficiente.

Requisiti

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

Rilevamento

Monitorare i log di accesso per tentativi di exploit:

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

Regola WAF — Bloccare le richieste che corrispondono a:

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

Audit post-compromissione:

  • Controllare images/ e altre directory scrivibili per file inattesi
  • Verificare l'integrità di configuration.php e .htaccess
  • Esaminare i log degli errori del server per avvisi di @include_once

Rimedio

  1. Aggiornare nrframework alla versione 6.0.38 o successiva immediatamente
  2. La patch rimuove completamente ajaxTaskInclude() e lo sostituisce con un registro di handler rigoroso (AjaxHandlerRegistry)

Cronologia

DataEvento
2026-02Vulnerabilità scoperta durante un penetration test autorizzato
2026-02Creato l'exploit
2026-02Divulgazione pubblica

Disclaimer

Questo strumento è fornito esclusivamente per test di sicurezza autorizzati e scopi educativi. Utilizzare questo exploit solo contro sistemi per i quali si dispone di esplicita autorizzazione scritta. L'accesso non autorizzato a sistemi informatici è illegale. L'autore non si assume alcuna responsabilità per un uso improprio.

Autore

Yallasec — yallasec.com

Arcangelo Saracino — @arkango

Scarica lo strumento