Description
Lors de la modification d’une image, WordPress ne vérifiait pas quelles métadonnées la requête avait le droit de changer. Un utilisateur disposant au moins du rôle Auteur pouvait ainsi réécrire la métadonnée _wp_attached_file, qui indique l’emplacement du fichier sur le disque, avec une valeur arbitraire.
Combinée à une traversée de répertoire (CVE-2019-8943) dans la fonction de recadrage d’images, cette faiblesse permettait de placer une image contenant du code PHP dissimulé dans ses données Exif à un endroit où le serveur l’interprète, puis de l’exécuter. Un module Metasploit public automatise la chaîne d’attaque.
La leçon pour les sites d’entreprise
Beaucoup de sites WordPress donnent des accès de rédaction à des prestataires ou stagiaires. Cette faille montre qu’un compte « peu privilégié » peut suffire à compromettre l’ensemble du serveur si le cœur du CMS n’est pas à jour.
Ce que nous recommandons
- Activer les mises à jour automatiques du cœur WordPress.
- Auditer régulièrement les comptes et leurs rôles ; supprimer les comptes inactifs.
- Bloquer l’exécution de PHP dans le dossier
wp-content/uploads.