Passer au contenu principal

Neotech Cloud Solutions

Home/Cybersécurité/Faille YOOtheme Pro CVE-2026-102785 : des webshells dans vos uploads, même après un HTTP 500
Écran d'ordinateur affichant du code, rappelant une faille YOOtheme qui écrit un webshell PHP

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 echo de marqueur puis id;
  • environ 2 minutes plus tard, un opérateur humain peut déposer un shell ALFA Team plus complet, écrire un dossier ALFA_DATA et 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 + .php dans wp-content/uploads (ex. : yt3a9f0c1.php).
  • ☐ Tout autre .php inattendu dans uploads, y compris dans des sous-dossiers datés.
  • ☐ Dossier wp-content/uploads/ALFA_DATA/ (ou alfacgiapi).
  • ☐ Dans les journaux d’accès : requêtes index.php contenant à la fois FromFile=php://input et Save= — 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

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

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

3. Isoler si vous trouvez quelque chose

Coupez l'accès public au besoin

Traitez le site comme compromis : sauvegarde forensique, puis nettoyage.

4

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

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

Photo : luis gomes, Pexels (licence Pexels).

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *