PHP2Shell : deux failles critiques dans PHP, vérifiez la version de votre site

Le 21 octobre, le projet PHP a publié une mise à jour de sécurité corrigeant deux vulnérabilités critiques, surnommées « PHP2Shell ». PHP étant le langage sur lequel repose WordPress, l’équipe de sécurité du CMS a immédiatement relayé l’alerte sur le blog officiel de WordPress.org.

Ce qui s’est passé

Ces deux failles peuvent permettre à un attaquant d’exécuter du code à distance sur le serveur, sans avoir besoin de s’authentifier. C’est le scénario le plus grave qui soit : une personne malveillante peut potentiellement prendre le contrôle du site, voire du serveur.

Point important : ces vulnérabilités ne sont pas propres à WordPress. Elles touchent n’importe quelle application PHP hébergée sur un serveur vulnérable. Aucune mise à jour de WordPress n’est donc nécessaire ni prévue pour les corriger : c’est PHP lui-même qu’il faut mettre à jour.

La gravité est telle que plusieurs agences nationales de cybersécurité ont communiqué sur le sujet. Le centre national de cybersécurité britannique (NCSC) recommande même, lorsqu’une correction immédiate est impossible, de mettre le système hors ligne le temps de le sécuriser.

Êtes-vous concerné ?

Au moment de publier ces lignes, les versions corrigées de PHP étaient les suivantes : 8.2.35, 8.3.36, 8.4.27 et 8.5.12. Si votre site tourne sur une version antérieure de l’une de ces branches, il est exposé tant que votre hébergeur n’a pas appliqué le correctif.

Le cas le plus préoccupant concerne les sites qui utilisent une version de PHP antérieure à 8.2. Ces versions ne reçoivent plus aucune mise à jour de sécurité de la part du projet PHP : elles ne seront donc pas corrigées. Et ils sont nombreux : selon une étude récente de l’hébergeur Nettingale, 23 % des sites WordPress européens dont la version de PHP est visible tournent encore sous PHP 7.

Que faire concrètement ?

  • Vérifiez votre version de PHP. Dans votre administration WordPress, rendez-vous dans Outils > Santé du site > Informations > Serveur. La plupart des hébergeurs affichent aussi cette information dans leur interface.
  • Mettez à jour si besoin. Si vous êtes sous une version inférieure à PHP 8.2, passez à une version maintenue depuis l’interface de votre hébergeur. Si vous êtes déjà sur une branche récente, assurez-vous que le correctif a bien été appliqué.
  • Si vous gérez votre propre serveur, appliquez la mise à jour au plus vite. Et si c’est impossible dans l’immédiat, envisagez de mettre le serveur hors ligne, comme le recommandent l’équipe de WordPress et le NCSC.
  • Contactez votre hébergeur en cas de doute : beaucoup ont déjà mis en place des règles de pare-feu applicatif pour bloquer les tentatives d’exploitation en attendant la mise à jour.

Bonne nouvelle pour les sites hébergés en France : des hébergeurs comme o2switch, OVH ou LWS ont bien appliqué les correctifs. Étant donné l’ampleur des failles, cela devrait être le cas de tous les hébergeurs sérieux désormais. Si le vôtre traîne des pieds, c’est peut-être le signe qu’il est temps d’en changer.

Avant de changer de version de PHP, faites une sauvegarde complète de votre site : certaines extensions anciennes peuvent ne pas être compatibles avec les versions récentes. Pour vous accompagner, suivez notre guide pas à pas pour mettre à jour PHP sur WordPress.

Notre avis

On a tendance à ne penser sécurité qu’en termes de mises à jour de WordPress, de thèmes et d’extensions. PHP2Shell rappelle que la couche serveur compte tout autant. Un site WordPress parfaitement à jour, posé sur un PHP vulnérable, reste vulnérable.

Le vrai sujet, ce sont les sites qui tournent encore sous PHP 7 ou 8.0 par simple inertie. Ces versions ne seront jamais corrigées. Si c’est votre cas, ou celui d’un client, la mise à jour n’est plus une option à repousser au trimestre prochain : c’est une urgence.

L’alerte de sécurité sur WordPress.org →