Attaques & vulnérabilités techniques

Exécution de code à distance (RCE)

Julien THÉRIN

Une faille RCE (Remote Code Execution) permet à un attaquant de faire exécuter n'importe quelle commande sur le serveur qui héberge votre WordPress - la vulnérabilité la plus critique possible.

L’exécution de code à distance, ou RCE (Remote Code Execution), désigne une catégorie de faille qui permet à un attaquant de faire exécuter des instructions arbitraires directement sur le serveur hébergeant un site WordPress, sans y avoir d’accès légitime au préalable. C’est le niveau de gravité le plus élevé qu’une vulnérabilité puisse atteindre.

Comment une faille RCE apparaît dans WordPress

  • Upload de fichier non restreint : un plugin qui accepte un fichier envoyé par un visiteur sans vérifier réellement son type, permettant de déposer un script PHP exécutable
  • Désérialisation non sécurisée : traitement de données utilisateur avec des fonctions PHP comme unserialize() sans validation, pouvant déclencher l’exécution de code via un objet manipulé
  • Injection de commande : un paramètre transmis sans filtrage à une fonction système du serveur
  • Combinaison de failles mineures : une faille d’upload associée à une faille de traversée de répertoire peut, ensemble, aboutir à un RCE complet

Pourquoi un RCE est la faille la plus critique

Contrairement à une injection SQL qui cible la base de données, un RCE donne un contrôle total du serveur : lecture et modification de tous les fichiers, installation de malware ou de backdoor, voire rebond vers d’autres sites hébergés sur le même serveur mutualisé.

Comment se protéger d’une faille RCE

  • Mettre à jour immédiatement dès qu’un correctif de sécurité est publié pour un plugin – les RCE font partie des failles les plus rapidement exploitées après divulgation publique
  • Restreindre les permissions d’exécution sur les répertoires d’upload (empêcher l’exécution de PHP dans wp-content/uploads)
  • Activer un pare-feu applicatif (WAF) capable de bloquer les tentatives d’upload ou d’injection de commande avant qu’elles n’atteignent le code vulnérable
  • Auditer les plugins tiers, en particulier ceux qui gèrent des uploads ou des imports de données

Questions fréquentes

Une faille RCE (Remote Code Execution) permet à un attaquant de faire exécuter des instructions arbitraires sur le serveur qui héberge le site, généralement via un upload de fichier non restreint ou une désérialisation de données non sécurisée. C’est le niveau de gravité le plus élevé pour une vulnérabilité.

L’injection SQL cible la base de données du site, tandis qu’un RCE donne un contrôle direct sur le serveur lui-même : lecture et modification de tous les fichiers, installation de malware, voire accès à d’autres sites hébergés sur le même serveur.

Un pare-feu applicatif (WAF) peut détecter et bloquer des schémas connus de tentative de RCE (upload suspect, injection de commande), mais ne corrige pas la faille sous-jacente. La mise à jour du composant vulnérable reste indispensable.

Avatar Julien THERIN
Julien THÉRIN

Entrepreneur passionné du web, ma relation avec WordPress commence il y a plus de 15 ans - par curiosité, en autodidacte. À l'époque je m'intéressais à plusieurs CMS : DotClear, CMS Made Simple, SPIP, Joomla... C'est WordPress qui l'a emporté…

À propos de l'auteur →
Retour en haut