Article

Faille PHP2Shell : Nextcloud, WordPress… que faire sur son serveur ?

Deux failles critiques de PHP (CVE-2026-109618 et CVE-2026-109619) permettent de prendre le contrôle d'un site sans mot de passe. Qui est touché, comment vérifier, comment corriger.

Par Guillaume Finot · Publié le 25 octobre 2026 · ⏱ 5 min de lecture

Le 21 octobre 2026, l’équipe de PHP a corrigé deux failles critiques surnommées PHP2Shell (CVE-2026-109618 et CVE-2026-109619, note 9,2 sur 10). Une seule requête envoyée à un site écrit en PHP peut suffire à y exécuter du code, sans mot de passe : la faille est dans PHP lui-même, avant même que l’application ne démarre. Des tentatives d’attaque ont été observées dès le 17 octobre, avant la publication du correctif.

Important : si vous auto-hébergez Nextcloud, WordPress, FreshRSS, BookStack, Grocy, PrivateBin, Firefly III ou Shlink, vous êtes probablement concerné. Lisez la suite et mettez à jour aujourd’hui.

Qui est touché ?

Toutes les versions de PHP de 5.4 à 8.5 qui servent des pages web (Apache avec mod_php, PHP-FPM derrière Nginx ou Caddy, FrankenPHP…). Les versions corrigées sont :

Branche Version corrigée
PHP 8.5 8.5.12
PHP 8.4 8.4.27
PHP 8.3 8.3.36
PHP 8.2 8.2.35

Les branches plus anciennes (7.4, 8.0, 8.1) ne reçoivent pas de version officielle : passez à une branche à jour.

Avec Docker, PHP est à l’intérieur de l’image de l’application. Mettre à jour Ubuntu ou Debian ne suffit donc pas : il faut une nouvelle image de l’application, construite avec le PHP corrigé.

1. Vérifier la version de PHP de chaque application

Sur le serveur, cette commande affiche la version de PHP de chaque conteneur qui en contient :

for c in $(sudo docker ps --format '{{.Names}}'); do
  v=$(sudo docker exec "$c" php -r 'echo PHP_VERSION;' 2>/dev/null) && echo "$c : PHP $v"
done

Comparez avec le tableau ci-dessus. Par exemple, nextcloud : PHP 8.5.11 est vulnérable, 8.5.12 est corrigé.

2. Mettre à jour

Les images officielles ont été reconstruites dans les deux jours (Nextcloud le 23 octobre, par exemple). Dans le dossier de l’application :

cd /opt/stacks/nextcloud
sudo docker compose pull
sudo docker compose up -d

Puis relancez la commande de l’étape 1 pour vérifier la nouvelle version. Une sauvegarde récente avant de mettre à jour reste une bonne idée : restaurer une sauvegarde.

Bon à savoir : si vos mises à jour attendent un délai de sécurité (14 jours, par exemple) ou sont manuelles pour les applications sensibles, c’est le moment de faire une exception : une faille critique déjà exploitée n’attend pas. Sur un serveur installé avec Mon serveur, voir mettre à jour ses applications.

3. Si vous ne pouvez pas mettre à jour tout de suite

Ces mesures réduisent le risque mais ne le suppriment pas : le correctif reste la seule vraie solution.

  • Désactiver la progression des envois de fichiers dans PHP : session.upload_progress.enabled = 0 (et, en PHP 8.5, fatal_error_backtraces = 0), puis redémarrer le conteneur. Une troisième faille, CVE-2026-115560, annoncée le 23 octobre, se contourne de la même façon en attendant son correctif.
  • Couper l’accès public à l’application le temps de mettre à jour (accès par Tailscale seulement, par exemple).

4. Vérifier qu’on n’a pas été attaqué

Quelques signes à rechercher dans les journaux de l’application, depuis le 17 octobre :

  • des erreurs Allowed memory size … exhausted suivies de Unknown on line 0 ;
  • des plantages répétés du serveur web (AH00052, segfault) ;
  • des fichiers .php récents qui n’ont rien à faire là (dans un dossier d’envoi de fichiers, par exemple) ;
  • des processus inhabituels lancés par l’utilisateur du serveur web (www-data).

Dans le doute (un fichier inconnu, un compte administrateur que vous n’avez pas créé), considérez le serveur comme compromis : changez les mots de passe et réinstallez à partir d’une sauvegarde antérieure au 17 octobre.

Être prévenu la prochaine fois

La page Alertes de sécurité suit maintenant les failles de PHP, de Caddy et de nginx en plus de celles des applications : une faille de PHP s’affiche directement sur la fiche de Nextcloud, de WordPress, etc. Elle existe aussi en flux RSS.

Sources : annonces de l’équipe PHP, analyses de Datadog Security Labs, Tenable et Unit 42 (Palo Alto Networks).

Une commande qui ne marche pas, une explication pas claire ? Signaler une erreur dans cette page.

Prêt à vous lancer ?

Choisissez vos applications et récupérez une installation complète.

Créer mon serveur