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
Outils/GitHubGitHub/lukasz-rybak/cve-2026-23491
Analyse des VulnérabilitésExploitationExploitation d'Applications WebCollecte d'InformationsTests d'IntrusionApprentissage et Éducation
GitHublukasz-rybak/cve-2026-23491

CVE-2026-23491

CVE-2026-23491 - InvoicePlane présente une traversée de chemin non authentifiée dans le Guest Controller.

Voir le dépôt
2il y a 5 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-23491 : InvoicePlane présente une traversée de chemin non authentifiée dans le contrôleur Guest

Vue d'ensemble

ChampDétails
Identifiant CVECVE-2026-23491
GravitéCRITIQUE
AvisVoir l'avis
Découvert parLukasz Rybak

Produits concernés

  • InvoicePlane/InvoicePlane

Détails

Résumé

Une vulnérabilité de traversée de chemin existe dans la méthode get_file du contrôleur Get du module Guest dans InvoicePlane v1.6.3. Cette vulnérabilité permet à des attaquants non authentifiés de lire des fichiers arbitraires sur le serveur en manipulant le nom de fichier fourni. Cela conduit à la divulgation d'informations sensibles, notamment des fichiers de configuration contenant des identifiants de base de données.

Détails

La vulnérabilité se situe dans le fichier application/modules/guest/controllers/Get.php, plus précisément dans la fonction get_file.

La fonction accepte un paramètre $filename directement depuis l'URL. Elle effectue urldecode($filename) mais ne parvient pas à nettoyer l'entrée pour les séquences de traversée de répertoire (par exemple ../). Le nom de fichier nettoyé est ensuite concaténé avec un répertoire de base ($this->targetPath, qui correspond à uploads/customer_files/) et transmis à la fonction readfile().

Extrait de code vulnérable :

root@kitploit:~
public function get_file($filename): void
{
    $filename = urldecode($filename);
    if ( ! file_exists($this->targetPath . $filename)) {
        $ref = isset($_SERVER['HTTP_REFERER']) ? ', Referer:' . $_SERVER['HTTP_REFERER'] : '';
        $this->respond_message(404, 'upload_error_file_not_found', $this->targetPath . $filename . $ref);
    }

    // ... headers setting content type and disposition ...

    readfile($this->targetPath . $filename);
}

Étant donné que $filename est contrôlé par l'utilisateur et n'est pas vérifié, un attaquant peut fournir une chaîne telle que ../../ipconfig.php pour sortir du répertoire prévu.

PoC

La commande cURL suivante démontre la lecture du fichier ipconfig.php (qui se trouve deux répertoires au-dessus du répertoire par défaut uploads/customer_files/) :

root@kitploit:~
curl http://localhost/index.php/guest/get/get_file/..%2f..%2fipconfig.php
image

Sortie attendue : Le serveur répond avec le contenu de ipconfig.php, qui inclut des variables d'environnement sensibles telles que DB_PASSWORD et ENCRYPTION_KEY.

Impact

Les attaquants peuvent lire la configuration de l'application, le code source et potentiellement d'autres fichiers du système lisibles par l'utilisateur du serveur web.

Références

  • https://github.com/InvoicePlane/InvoicePlane/security/advisories/GHSA-88gq-mv54-v3fc
  • https://github.com/InvoicePlane/InvoicePlane/commit/add8bb798dde621f886823065ef1841986543c69

Avertissement

Cette CVE a été divulguée de manière responsable dans le cadre de pratiques de divulgation coordonnée des vulnérabilités. Les informations fournies ici le sont uniquement à des fins éducatives et défensives.

Télécharger l’outil