Vulnérabilité dans le plugin WordPress External Media

Date de publication :

CVE-2021-24311 [Score CVSS v3 : 9.9] : External Media est un plugin WordPress conçu pour permettre aux utilisateurs de télécharger des fichiers multimédias à partir de sources externes. Le plugin présente une faille qui peut permettre à un attaquant distant et faiblement authentifié de télécharger des fichiers PHP à partir de sources externes. Tout site permettant à quiconque de s'inscrire en tant qu'abonné est particulièrement vulnérable.

Le plugin enregistre une action AJAX, wp_ajax_upload-remote-file, qui est liée à la fonction upload_remote_file. Cette fonction est utilisée pour obtenir le nom, l'URL et la légende du fichier distant, ainsi que quelques autres champs.

Ces informations étaient utilisées pour charger une méthode "plugin" permettant de télécharger un fichier, puis de déclencher la fonction de téléchargement qui lance la fonction de téléchargement de fichier save_remote_file qui enregistre le fichier distant sur le serveur.

Cette faille réside dans l’absence de contrôle de capacité permettant de vérifier si un utilisateur possède les capacités appropriées pour télécharger un fichier. Tout utilisateur connecté au site WordPress exécutant le plugin de télécharger des fichiers à l'aide de la fonctionnalité de média externe. Un attaquant peut aussi être en mesure d'exploiter cette fonctionnalité à l'aide d'une attaque par falsification de requête intersite.

En plus de l'absence de vérifications de capacité et de nonce, il n'y avait pas de validation sur le nom du fichier téléchargé, ce qui permettait de définir une extension de fichier PHP. Cela peut permettre effectivement de télécharger des fichiers PHP sur un site vulnérable, qui peuvent être utilisés pour l'exécution de code à distance, permettant finalement à un attaquant de prendre le contrôle complet d'un site WordPress vulnérable.

Informations

La faille est activement exploitée :

Un correctif existe :

Une mesure de contournement existe :

Risques

Risques

  • Exécution de code arbitraire à distance

Criticité

  • Score CVSS v3 : 9.9

Existence d’un code d’exploitation

  • Aucun code d’exploitation n’est disponible publiquement à l’heure actuelle.

Composants vulnérables

  • Les versions de plugin External Media antérieures à la version 1.0.34 sont impactées par cette vulnérabilité.

CVE

Solutions ou recommandations

Mise en place de correctifs de sécurité

  • Mettre à jour le plugin WordPress External Media vers la version 1.0.34.

Solution de contournement

  • Aucune solution de contournement n’est disponible publiquement à l’heure actuelle.