Vulnérabilités au sein du plugin WordPress Simple 301 Redirects

Date de publication :

CVE-2021-24352, CVE-2021-24353 [Score CVSS v3 : 8.8] :  Simple 301 Redirects est un plugin simple conçu pour créer et gérer des redirections HTTP (code 301) sur les sites WordPress. Dans la version 2.0.0 du plugin, les développeurs ont introduit plusieurs nouvelles fonctionnalités et apporté des améliorations supplémentaires. L'une des fonctionnalités qu'ils ont introduites dans la mise à jour était la possibilité d'importer et d'exporter des redirections. Cependant cette fonctionnalité a été implémentée de manière non sécurisée.

Les fonctions assurant les fonctions d’import et d’export ne comportaient pas de contrôle de capacité ou de contrôle de “nonce”, ce qui peut permettre à un attaquant distant ne disposant pas des autorisations nécessaires de déclencher l'exécution de ces fonctions.

Ces dernières sont déclenchées par la fonction admin_init qui peut être initialisée via le point de terminaison /wp-admin/admin-post.php. Ce point de terminaison est accessible à la fois aux utilisateurs authentifiés et non authentifiés.

La fonction export_data pourrait être utilisée pour exporter des redirections, ce qui pourrait potentiellement révéler des informations sensibles. La fonction import_data prend le contenu du fichier fourni par un utilisateur et utilise ensuite le contenu du fichier pour importer une liste de redirections. Un attaquant distant pourrait l'utiliser pour définir des redirections qui refuseraient l'accès à un site WordPress vulnérable, provoquant une perte de disponibilité, et/ou qui redirigeraient les visiteurs du site vers des sites malveillants.

CVE-2021-24354, CVE-2021-24356 [Score CVSS v3 : 8.8] : En plus des nouvelles fonctionnalités d'import et d’export, la version mise à jour du plugin a également implémenté une fonction permettant d'installer d'autres plugins développés par la même entreprise. Afin de fournir cette fonctionnalité, le plugin a enregistré l'action AJAX wp_ajax_simple301redirects/admin/install_plugin, qui a été reliée à la fonction install_plugin.

La fonction install_plugin peut être utilisée pour installer n'importe quel plugin du dépôt WordPress en fournissant le nom du plugin souhaité comme paramètre "slug". Cette fonction ne présente pas de mécanisme de contrôle pour vérifier si l'action était déclenchée par un utilisateur authentifié.

L’exploitation de ces fonctions peut permettre à un attaquant distant et authentifié d'installer et d'activer n'importe quel plugin du dépôt WordPress, potentiellement un plugin présentant une vulnérabilité plus grave, qui pourrait être utilisé pour élever les privilèges sur le site vulnérable.

Informations

La faille est activement exploitée :

Un correctif existe :

Une mesure de contournement existe :

Risques

Risques

  • Exposition d’informations sensibles
  • Déni de service
  • Exécution de code arbitraire
  • Elévation de privilèges

Criticité

  • Scores CVSS v3 : 8.8

Existence d’un code d’exploitation

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

Composants vulnérables

  • Les versions du plugin WordPress simple-301-redirects de 2.0.0 à 2.0.3 sont impactées par ces vulnérabilités.

CVE

Solutions ou recommandations

Mise en place de correctifs de sécurité

  • Mettre à jour le plugin WordPress simple-301-redirects vers la version 2.0.4 ou ultérieure.

Solution de contournement

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