Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-48907 — Exploit de preuve de concept et analyse technique pour CVE-2026-48907, une vulnérabilité d'exécution de code à distance pré-authentification CVSS 10.0 dans Joomla Content Editor (JCE). Inclut une chaîne d'attaque en 3 requêtes et une ventilation détaillée du correctif. | Kitploit
Outils/GitHubGitHub/grayxploit/cve-2026-48907
Génération de PayloadsAnalyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionArticles et RechercheApprentissage et Éducation
GitHubgrayxploit/cve-2026-48907

CVE-2026-48907

Exploit de preuve de concept et analyse technique pour CVE-2026-48907, une vulnérabilité d'exécution de code à distance pré-authentification CVSS 10.0 dans Joomla Content Editor (JCE). Inclut une chaîne d'attaque en 3 requêtes et une ventilation détaillée du correctif.

Voir le dépôt
22il y a 3 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-48907 — RCE non authentifiée dans Joomla Content Editor (JCE) ≤ 2.9.99.4

Preuve de concept (exploit) pour CVE-2026-48907 — une vulnérabilité d'exécution de code à distance (RCE) de score CVSS 10.0, exploitable sans authentification préalable, dans l'extension Joomla Content Editor (JCE).
Recherche par Grayxploit Security Team

Gemini_Generated_Image_2i4b4p2i4b4p2i4b

Table des matières

  • Vue d'ensemble
  • Versions concernées
  • Détails de la vulnérabilité
  • Déroulement de l'attaque
  • Preuve de concept
  • Analyse du correctif
  • Remédiation
  • Chronologie
  • Références
  • Avertissement

Vue d'ensemble

CVE-2026-48907 est une vulnérabilité critique d'exécution de code à distance (RCE) non authentifiée affectant l'extension Joomla Content Editor (JCE) — l'éditeur Joomla le plus largement installé — dans toutes les versions jusqu'à la 2.9.99.4 incluse.

En enchaînant trois faiblesses de sécurité indépendantes dans le flux d'importation de profils JCE, un attaquant totalement non authentifié peut :

  • Téléverser un webshell PHP arbitraire dans le répertoire /tmp/ du serveur
  • Déclencher l'exécution de ce webshell via HTTP
  • Obtenir une exécution de code à distance (RCE) complète sans identifiants, sans interaction utilisateur et sans position réseau particulière

L'attaque ne nécessite que 3 requêtes HTTP et fonctionne contre toute installation Joomla par défaut exécutant une version vulnérable de JCE.

Score CVSS v4 : 10.0 — Critique

Découverte et divulguée publiquement par l'équipe de recherche en sécurité Grayxploit à la suite d'une divulgation responsable.


Versions concernées

LogicielVersions vulnérablesVersion corrigée
Joomla Content Editor (JCE)≤ 2.9.99.42.9.99.6 (recommandée)

Remarque : La version 2.9.99.5 a introduit le correctif principal. La version 2.9.99.6 a ajouté des couches de durcissement supplémentaires. Mettez à niveau vers la 2.9.99.6 ou une version ultérieure.


Détails de la vulnérabilité

La vulnérabilité provient du point de terminaison d'importation de profils JCE :

POST /index.php?option=com_jce&task=profiles.import

JCE permet aux administrateurs d'exporter et d'importer des profils d'éditeur sous forme de fichiers XML. Le gestionnaire d'importation est accessible sans authentification et accepte des téléversements de fichiers arbitraires en raison d'une chaîne de trois faiblesses indépendantes.

Faiblesse 1 — Absence d'autorisation (CWE-862)

Le contrôleur d'importation n'effectuait aucune vérification ACL :

public function import()
{
    // Only gate: CSRF token — trivially bypassable
    Session::checkToken() or jexit(JText::_('JINVALID_TOKEN'));

    $app = Factory::getApplication();
    // … straight into file handling — no authorise() check
}

Joomla intègre le jeton CSRF dans chaque page publique sous forme de balise meta ou de variable JS :

<meta name="csrf.token" content="abcdef1234567890abcdef1234567890" />

Un attaquant n'a qu'à récupérer la page d'accueil, extraire le jeton et le rejouer. La vérification CSRF empêche les requêtes intersites — elle n'empêche pas les requêtes scriptées directes. Aucun appel à Factory::getUser() ou $user->authorise(...) n'était présent dans le chemin d'importation.


Faiblesse 2 — Absence de validation de l'extension de fichier (CWE-434)

Le gestionnaire de téléversement utilisait File::makeSafe(), qui se contente de supprimer les caractères illégaux du système de fichiers — il ne valide pas et ne restreint pas les extensions de fichiers :

$file = $app->input->files->get('profile_file', null, 'raw');

if (!is_uploaded_file($file['tmp_name'])) { return false; }

$name = File::makeSafe($file['name']); // strips illegal chars only

$destination = $config->get('tmp_path') . '/' . $name;
$source      = $file['tmp_name'];

File::upload($source, $destination, false, true);

Un nom de fichier tel que shell.xml.php passe File::makeSafe() sans être modifié. Le module mod_php d'Apache l'exécute car la dernière extension reconnue est .php. Les extensions telles que .php, .php5, .phtml et les variantes à double extension étaient toutes acceptées.


Faiblesse 3 — File::upload() appelée avec $allow_unsafe = true (CWE-116)

La méthode File::upload() de Joomla intègre une liste noire d'extensions qui bloque les types de fichiers dangereux lorsque $allow_unsafe = false (la valeur par défaut) :

// Joomla File::upload() signature
File::upload($src, $dest, $use_streams = false, $allow_unsafe = false)

Le code JCE vulnérable désactivait explicitement ce filet de sécurité :

// VULNERABLE — unsafe uploads explicitly enabled
File::upload($source, $destination, false, true);

Ce simple booléen désactivait l'intégralité de la liste noire interne d'extensions de Joomla, permettant à .php, .php5, .phtml et à toutes les autres extensions exécutables d'être écrits sur le disque.


Déroulement de l'attaque

Télécharger l’outil