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-66491 — L'extension Joomla PhocaCommander est vulnérable à un Path Traversal dans la fonction getSource. | Kitploit
Outils/GitHubGitHub/toanln-cov/cve-2026-66491
Analyse des VulnérabilitésExploitationExploitation d'Applications WebCollecte d'InformationsSécurité WebTests d'Intrusion
GitHubtoanln-cov/cve-2026-66491

CVE-2026-66491

L'extension Joomla PhocaCommander est vulnérable à un Path Traversal dans la fonction getSource.

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

Lecture arbitraire de fichiers via getSource() dans PhocaCommander

PhocaCommander ≤ 6.1.3 — Traversée de chemin admin authentifiée, sans CSRF requis

CVE CVSS v4.0 CWE-22 Affected Researcher


RÉSUMÉ

Une vulnérabilité de lecture arbitraire de fichiers existe dans le point de terminaison de l'éditeur de fichiers de PhocaCommander. La fonction getSource() décode un paramètre filename encodé en base64 et le transmet directement à file_get_contents() sans aucun contrôle de confinement de chemin. Un administrateur authentifié peut lire n'importe quel fichier accessible au processus du serveur web — y compris les fichiers situés hors de la racine web — en envoyant simplement une requête GET. Aucun jeton CSRF n'est requis.

L'exploitation divulgue les identifiants de base de données et la clé secrète de Joomla depuis configuration.php, et permet de lire des fichiers système tels que /etc/passwd via des séquences de traversée de chemin (par exemple ../../../../etc/passwd).


VERSIONS AFFECTÉES

COMPOSANTVULNÉRABLETESTÉ SURCORRIGÉ
PhocaCommander1.0.0 – 6.1.3Joomla 5.4.7 + PhocaCommander 6.1.3 (PHP 8.2 / Apache)6.1.4

DÉTAILS DE LA VULNÉRABILITÉ

Authentification requise : Session administrateur (aucun jeton CSRF requis — requête GET)

Fichier : administrator/components/com_phocacommander/models/phocacommanderedit.php

Cause racine

getSource() décode filename depuis le base64 et le concatène directement à JPATH_ROOT, puis lit le fichier sans aucun contrôle de confinement :

PHOCACOMMANDEREDIT.PHP — CODE VULNÉRABLE

root@kitploit:~
public function getSource($fileName) {
    $fileName = base64_decode($fileName); // ← attacker-controlled
    $item = new stdClass;
    if (PhocaCommanderHelper::fileExists(JPATH_ROOT . '/' . $fileName)) {
        $item->source = file_get_contents(JPATH_ROOT . '/' . $fileName); // ← no containment check
    }
    return $item;
}

fileExists() utilise is_file(Path::clean($file)). Path::clean() normalise les barres obliques mais n'élimine pas les séquences ../, de sorte que les traversées sortent de la racine web sans être détectées.

La base de code contient getContainedRealPath() dans helpers/phocacommander.php, qui effectue un confinement correct basé sur realpath(). Elle est appelée par save() et download() mais n'a jamais été ajoutée à getSource(). De plus, la méthode edit() du contrôleur est déclenchée via GET, de sorte que les contrôles standard de jeton CSRF ne s'appliquent pas — un cookie de session admin actif suffit pour déclencher des lectures arbitraires de fichiers.


PREUVE DE CONCEPT

Scénario 1 — Lecture de /etc/passwd via traversée de chemin hors webroot

1. Se connecter au panneau d'administration Joomla

Authentifiez-vous via la page de connexion admin pour obtenir un cookie de session valide. Aucun privilège supplémentaire au-delà d'une session admin standard n'est requis.

2. Lire /etc/passwd via traversée de chemin — hors webroot

Envoyez la requête GET suivante avec le chemin de traversée encodé en base64 :

root@kitploit:~
GET /administrator/index.php?option=com_phocacommander&task=phocacommanderedit.edit&filename=Li4vLi4vLi4vLi4vZXRjL3Bhc3N3ZA==
Cookie: [admin session]

filename décodé : Li4vLi4vLi4vLi4vZXRjL3Bhc3N3ZA== → ../../../../etc/passwd

Chemin résolu : /var/www/html/../../../../etc/passwd = /etc/passwd

L'éditeur affiche le contenu complet de /etc/passwd, confirmant un accès en lecture hors de la racine web.

REQUÊTE / RÉPONSE

Burp Suite request and response showing /etc/passwd contents rendered in the Joomla editor


IMPACT

  1. Divulgation de fichiers système — Les clés SSH et les fichiers de configuration des applications co-hébergées sont tous accessibles (s'ils sont lisibles par le processus du serveur web)
  2. Aucune interaction requise — L'attaque est une simple requête GET, aucun jeton CSRF, aucune soumission de formulaire, aucune interaction de la victime n'est nécessaire
  3. Chaîne d'élévation de privilèges — La clé secrète divulguée permet de forger des jetons Joomla hors ligne, ouvrant une surface d'attaque supplémentaire contre le site cible

RÉFÉRENCES

  • CVE : https://www.cve.org/CVERecord?id=CVE-2026-66491
  • NVD : https://nvd.nist.gov/vuln/detail/CVE-2026-66491
  • Dépôt du fournisseur : https://github.com/PhocaDesign/PhocaCommander
Télécharger l’outil