Faille YOOtheme Pro CVE-2026-102785 : des webshells dans vos uploads, même après un HTTP 500
Votre site WordPress tourne avec YOOtheme Pro? Depuis fin octobre 2026, une faille YOOtheme permet à un inconnu, sans compte, d’écrire un fichier PHP dans votre dossier d’uploads. Le correctif est sorti le 21 octobre (version 5.0.53). Deux jours plus tard, Unit 42 observait déjà le premier webshell en production. Le 5 novembre, le rapport hebdomadaire de JPCERT/CC a de nouveau signalé la campagne.
Voici comment fonctionne la faille YOOtheme, quoi chercher dans vos fichiers et vos journaux, et pourquoi mettre à jour ne suffit pas si quelqu’un a frappé avant.
Faille YOOtheme : ce que CVE-2026-102785 permet
YOOtheme Pro (WordPress et Joomla, versions 5.0.0 à 5.0.52) expose un gestionnaire d’images qui signe les URL de transformation. La signature ne couvrait pas toutes les opérations supplémentaires ni l’endroit où le résultat est enregistré. Un attaquant reprend une URL d’image déjà publiée sur votre site, y ajoute des opérations, et force l’écriture d’un fichier .php dans wp-content/uploads. Aucune authentification. Le score CVSS est de 10,0 (avis GitHub GHSA-8w8j-f6ph-29mm).
Requête malveillante (schéma Unit 42 — paramètres typiques)
GET/index.php?yootheme=cache/…-.png&src=…&hash=a1b2c3d4
&FromFile=php://input
&Save=wp-content/uploads/yt3a9f0c1.php,jpeg,90
HTTP500 Internal Server Error ← le fichier est quand même écrit
Comment lire cette maquette
- 1L’attaquant réutilise une URL d’image déjà signée et publique sur le site.
- 2FromFile=php://input : le corps de la requête devient le contenu du fichier écrit.
- 3Save=…/yt….php : destination forcée dans wp-content/uploads (yt + 7 hex).
- 4HTTP 500 : le serveur peut répondre en erreur… et écrire le fichier quand même.
Le fichier déposé est un JPEG valide avec du PHP caché dans les métadonnées APP13. À l’œil, ça ressemble à une image. Pour PHP, c’est un script exécutable.
Ce que Unit 42 a vu en deux minutes
Selon la note Unit 42 du 26 octobre 2026 :
- un scanner automatisé dépose le premier webshell;
- en environ 3 secondes, il valide avec un
echode marqueur puisid; - environ 2 minutes plus tard, un opérateur humain peut déposer un shell ALFA Team plus complet, écrire un dossier
ALFA_DATAet tenter d’installer un outil d’accès distant.
Le premier shell n’a pas de mot de passe : il exécute le paramètre c et affiche la chaîne WPCONFIG à chaque requête. Traitez toute découverte comme une compromission complète du site.
Checklist des indicateurs de compromission
Cherchez ceci dès aujourd’hui (même si vous êtes déjà à 5.0.53)
- ☐ Fichiers
yt+ 7 caractères hexadécimaux +.phpdanswp-content/uploads(ex. :yt3a9f0c1.php). - ☐ Tout autre
.phpinattendu dans uploads, y compris dans des sous-dossiers datés. - ☐ Dossier
wp-content/uploads/ALFA_DATA/(oualfacgiapi). - ☐ Dans les journaux d’accès : requêtes
index.phpcontenant à la foisFromFile=php://inputetSave=— y compris les réponses HTTP 500. - ☐ Comptes administrateurs WordPress créés ou modifiés sans raison, depuis le 21 octobre environ.
- ☐ Clé API / licence YOOtheme expirée : une mise à jour peut échouer sans que vous le remarquiez.
Que faire, dans quel ordre
1. Vérifier la version
Apparence > Thèmes, ou le customizer YOOtheme
Si vous êtes entre 5.0.0 et 5.0.52, passez immédiatement à 5.0.53 ou plus récent. Confirmez le numéro après la mise à jour.
2. Chasser les webshells
Uploads + journaux depuis le 21 octobre
La mise à jour ferme la porte. Elle ne supprime pas un fichier déjà planté.
3. Isoler si vous trouvez quelque chose
Coupez l'accès public au besoin
Traitez le site comme compromis : sauvegarde forensique, puis nettoyage.
4. Tourner les secrets
Base de données + comptes admin
Changez les mots de passe WordPress (tous les admins), les clés d’API, et les secrets dans wp-config.php. Régénérez les salines si nécessaire.
5. Surveiller la suite
Fichiers et journaux
Gardez un œil sur les nouveaux .php dans uploads et les requêtes yootheme= inhabituelles.
Nous avions déjà vu qu’une faille dans un outil de site web peut se transformer en porte ouverte tant qu’on ne chasse pas ce qui a été laissé derrière, comme avec les clés UpdraftCentral volées ou une faille PHP critique.
Questions fréquentes
Q1. J’ai mis à jour à 5.0.53. Suis-je tiré d’affaire?
La faille YOOtheme est corrigée pour les nouvelles attaques. Si le site a tourné en version vulnérable après le 23 octobre environ, cherchez quand même les webshells et les traces dans les journaux.
Q2. YOOtheme Pro est payant : la mise à jour peut-elle échouer?
Oui. Sans clé API / licence valide, la mise à jour peut ne pas s’installer. Vérifiez le numéro de version affiché après avoir cliqué sur « Mettre à jour ».
Q3. Un HTTP 500 dans les journaux, c’est rassurant?
Non. Pour cette faille YOOtheme, le serveur peut renvoyer 500 et écrire le fichier quand même. Ne filtrez pas les 500 quand vous cherchez FromFile et Save.
Q4. Joomla aussi?
Oui. YOOtheme Pro 5.0.0–5.0.52 est touché sur WordPress et sur Joomla. Le correctif est le même : 5.0.53 ou plus récent.
Comment NeoTech peut vous aider
Nous vérifions la version de YOOtheme Pro, appliquons le correctif, fouillons les uploads et les journaux, et tournons les identifiants si quelque chose a été trouvé. Nos services de création et d’entretien de sites web incluent les mises à jour testées des thèmes premium, et notre surveillance automatisée 24/7 avec intervention du technicien de garde signale les nouveaux fichiers PHP dans les dossiers publics et les requêtes suspectes. Pour l’ensemble de vos protections, voyez nos services de cybersécurité.
Réservez votre Bilan cyber gratuit
En 30 minutes, nous vérifions ensemble si votre site utilise YOOtheme Pro, quelle version est installée, et s’il y a des traces à examiner dans vos uploads.
👉 Réservez votre Bilan cyber gratuit
Appelez-nous au 438-476-2322 ou écrivez à info@neotechcloudsolutions.com.
Nos bureaux : 2572, boul. Daniel-Johnson, bureau 237, Laval.
Sources
- YOOtheme — Changelog 5.0.53 (21 octobre 2026) (en anglais)
- Palo Alto Networks Unit 42 — Exploitation of CVE-2026-102785, 26 octobre 2026 (en anglais)
- GitHub Advisory GHSA-8w8j-f6ph-29mm (CVE-2026-102785) (en anglais)
- TrustList — YOOtheme Pro CVE-2026-102785 summary (en anglais)
- JPCERT/CC — Weekly Report, 5 novembre 2026 (en anglais)
Photo : luis gomes, Pexels (licence Pexels).