Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-19089-WooCommerce-Tyche — Dépôt de recherche pour CVE-2026-19089, une vulnérabilité d'exécution de commande à distance dans WooCommerce Product Input Fields de Tyche Softwares. Contient un script de recherche préliminaire et des notes pour des tests en laboratoire autorisés. | Kitploit
Outils/GitHubGitHub/abraxas/cve-2026-19089-woocommerce-tyche
Analyse des VulnérabilitésExploitationExploitation d'Applications WebApprentissage et Éducation
GitHubabraxas/cve-2026-19089-woocommerce-tyche

CVE-2026-19089-WooCommerce-Tyche

Dépôt de recherche pour CVE-2026-19089, une vulnérabilité d'exécution de commande à distance dans WooCommerce Product Input Fields de Tyche Softwares. Contient un script de recherche préliminaire et des notes pour des tests en laboratoire autorisés.

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

banner

CVE-2026-19089

Product Input Fields for WooCommerce < 2.0.2 - téléversement de fichier arbitraire non authentifié

Le plugin Product Input Fields for WooCommerce de Tyche Softwares ne valide pas les types de fichiers téléversés lorsque le paramètre des types acceptés du champ est laissé vide (sa propre documentation le présente comme « accepter tous les fichiers »). Un invité non authentifié peut joindre un fichier arbitraire lors de l'ajout au panier, finaliser la commande et récupérer l'objet dans le répertoire de téléversement du plugin. Sur les hôtes qui exécutent cette arborescence en PHP, ce même chemin constitue une exécution de code à distance.

CVECVE-2026-19089
CWECWE-434: Unrestricted Upload of File with Dangerous Type
CVSS 3.19.8 Critique (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
ÉditeurTyche Softwares
ProduitProduct Input Fields for WooCommerce (product-input-fields-for-woocommerce)
Affecté2.0.0 jusqu'à 2.0.1 (plugin antérieur à 2.0.2)
Corrigé2.0.2
AssociéCVE-2024-13359 (AFU limité jusqu'à 1.12.0)
CNAWPScan

Ce dépôt contient une preuve de concept d'Abraxas Labs destinée exclusivement à des tests autorisés - divulgation à l'éditeur, reproduction en laboratoire, ou un hôte pour lequel vous disposez d'une autorisation écrite d'évaluation.

J'ai exécuté le client contre une boutique WooCommerce locale avec Product Input Fields 2.0.1, la commande en tant qu'invité plus le paiement à la livraison, et un champ File global dont les types acceptés étaient vides. Le script prépare le téléversement et la commande ; il ne fournit pas de webshell.


Résumé

Un champ de saisie de produit de type File est lié au formulaire d'ajout au panier de la boutique sous la forme alg_wc_pif_global_* / alg_wc_pif_local_*. Lorsque les types de fichiers acceptés sont vides, le plugin stocke tout ce que l'invité a envoyé. Après une commande réussie, le fichier est conservé sous wp-content/uploads/product_input_fields/, généralement nommé {item_id}_{original_filename}.

Les sites sont exposés lorsque toutes les conditions suivantes sont réunies :

  1. Product Input Fields est actif dans une version 2.x vulnérable (antérieure à 2.0.2).
  2. Au moins un champ de saisie de type File est attaché à un produit publié.
  3. La liste des types acceptés de ce champ est vide.
  4. La commande en tant qu'invité (ou toute commande accessible) peut finaliser une commande afin que le téléversement soit validé.

Dans ces conditions, l'impact est une écriture de fichier arbitraire avec les privilèges de l'utilisateur web. Si le répertoire de téléversement est exécutable, cela équivaut à une prise de contrôle du site.


Notes techniques

Le client reste sur la boutique. Il n'inclut ni webshell PHP ni reverse shell.

  1. Sondage - GET sur l'URL du produit, collecte des noms de champs PIF file et de l'identifiant produit add-to-cart.
  2. Étape 1 - POST sur add-to-cart avec un marqueur PNG bénin (image/png) sous le nom du champ PIF. Le nom de fichier par défaut est pifx.php afin qu'un laboratoire puisse voir si le plugin a autorisé une extension dangereuse. Le marqueur n'est pas du PHP exécutable.
  3. Étape 2 - commande en tant qu'invité via /?wc-ajax=checkout avec paiement à la livraison.
  4. Étape 3 - suivi d'une redirection redirect de commande si présente, puis balayage de wp-content/uploads/product_input_fields/{1..499}_{name} et POST x à la recherche du témoin SHELL_OK. [ LIVE ] ne s'affiche que lorsque ce témoin est renvoyé.

Preuve de concept

CVE-2026-19089-WooCommerce-Tyche-Abraxas-Labs.py est un petit client Python 3 : bannière figlet colorée, puis les quatre étapes ci-dessus. Il ne communique qu'avec les URL que vous passez en ligne de commande.

Prérequis

  • Python 3.9+
  • requests

Sur macOS avec le Python de Homebrew (PEP 668), utilisez un venv plutôt qu'un pip install système :

python3 -m venv .venv
.venv/bin/pip install requests

Utilisation

CVE-2026-19089-WooCommerce-Tyche-Abraxas-Labs.py <base_url> <product_url> [shell_name]
.venv/bin/python3 CVE-2026-19089-WooCommerce-Tyche-Abraxas-Labs.py \
  https://shop.example \
  https://shop.example/product/demo/

Un troisième argument définit le nom du fichier téléversé ; la valeur par défaut est pifx.php.

Avec moins de deux arguments, le script affiche la bannière et l'utilisation, puis se termine avec le code 1. C'est un moyen sûr de confirmer que le client démarre.

Préconditions du laboratoire

WooCommerce avec commande en tant qu'invité et une passerelle utilisable (le client envoie payment_method=cod), Product Input Fields antérieur à 2.0.2, et un produit publié dont le champ File accepte tout type. Face à 2.0.2+ ou à un champ doté d'une liste d'autorisation stricte, l'objet ne devrait pas aboutir en tant que téléversement .php.

Ne pointez pas ceci vers un hôte que vous ne possédez pas ou pour lequel vous ne disposez pas d'une autorisation écrite de test.


Atténuation

  • Correctif : mettez à jour Product Input Fields for WooCommerce vers 2.0.2 ou une version ultérieure depuis le répertoire de plugins WordPress.org.
  • Contournement temporaire : définissez une liste explicite de types acceptés sur chaque champ File (images uniquement, jamais vide). Vérifiez que le répertoire de téléversement n'exécute pas PHP.
  • Après un incident suspecté, inspectez wp-content/uploads/product_input_fields/ (et woocommerce_uploads/alg_uploads/product_input_fields/ selon certaines configurations), supprimez les objets inattendus et renouvelez les secrets pour wp-admin.

Références

  • CVE-2026-19089
  • NVD
  • Avis WPScan
  • Wordfence : Product Input Fields for WooCommerce <= 2.0.1 - Unauthenticated Arbitrary File Upload
  • CVE-2024-13359

Avertissement

Usage de recherche et éducatif uniquement. N'exécutez pas, ne déployez pas et n'utilisez pas ce contenu contre un hôte sans autorisation écrite explicite de la part à la fois de la partie hébergeant ce dépôt et du propriétaire des systèmes cibles.

Abraxas Labs · abraxaslabs.tech · github.com/abraxas · @abraxas_null

Télécharger l’outil