Critique · CVSS 9.2Correctif publié le 2026-10-21 à 14:00 UTCPremières attaques signalées

PHP2Shell est une RCE pré-authentification dans PHP lui-même. Mettez PHP à jour, puis redémarrez-le.

Deux bugs de sécurité mémoire dans le moteur PHP (CVE-2026-109618, CVE-2026-109619) permettent à un attaquant non authentifié d’exécuter du code ou de lire la mémoire du serveur — mots de passe, clés d’API, jetons de session — sur presque toutes les versions de PHP depuis la 5.4, quelle que soit l’application au-dessus.

Pas technicien ? Lisez PHP2Shell expliqué simplement — ce que cela signifie pour votre site ou les outils SaaS que vous utilisez.

Dernière vérification 2026-10-22 · indépendant, neutre

Collez une version, la sortie de php -v, ou une version par ligne pour tout un parc. Tout s’exécute dans votre navigateur.

Essayez :

La CLI et le serveur web peuvent utiliser des builds PHP différents. Vérifiez la version réellement utilisée par votre serveur web : php-fpm -v (ou php-fpm8.3 -v), ou phpinfo() servi par ce site.

BrancheVulnérableCorrigé dans
8.5< 8.5.128.5.12
8.4< 8.4.278.4.27
8.3< 8.3.368.3.36
8.2< 8.2.358.2.35
8.1 · 8.0 · 7.4toutesRétroportage source seulement
5.4 – 7.3toutesAucun correctif

PHP 8.2 perd son support de sécurité le 2026-12-31

Passer à 8.2.35 corrige PHP2Shell, mais il faudra migrer à nouveau avant fin 2026. Si vous migrez de toute façon, visez 8.4 ou 8.5.

À faire maintenant

Dans cet ordre. Rien d’autre ne constitue une correction complète.

  1. 01

    Recenser chaque environnement PHP

    Serveurs web, conteneurs, images de base, hébergement mutualisé, préproduction. La version CLI peut différer de celle de PHP-FPM ou d’Apache.

    Comment
  2. 02

    Installer une version corrigée

    8.5.12 · 8.4.27 · 8.3.36 · 8.2.35, ou le paquet corrigé de votre distribution. Mettre à jour WordPress/Drupal/Laravel ne met pas PHP à jour.

    Comment
  3. 03

    Redémarrer tout ce qui exécute PHP

    Pools PHP-FPM, Apache (mod_php), FrankenPHP, workers de file, Octane/RoadRunner/Swoole. Les anciens processus gardent l’ancien code en mémoire.

    Comment
  4. 04

    Vérifier, puis regarder en arrière

    Confirmez la version annoncée par le serveur web. Examinez les journaux depuis début octobre 2026 et renouvelez les secrets si quelque chose semble anormal.

    Comment

Impossible de mettre à jour aujourd’hui ? Les atténuations temporaires réduisent l’exposition aux chemins d’attaque connus. En hébergement mutualisé ? Voir hébergement.

Guides selon votre configuration

Est-ce exploité ?

Situation au 2026-10-22. Les rapports divergent ; partez du principe que des attaquants compétents disposent d’exploits fonctionnels.

  • Cloudflare (CTO Dane Knecht) : « We are seeing early attacks emerging and are updating mitigations as new vectors show up. »
  • watchTowr indique une exploitation observée en conditions réelles via son réseau de honeypots au 21 octobre.
  • Le NCSC néerlandais n’avait alors constaté aucun abus et considère tout système PHP exposé à Internet comme vulnérable tant qu’il n’est pas corrigé.
  • Aucune compromission réussie n’avait été confirmée publiquement, et aucune des deux CVE ne figurait au catalogue KEV de la CISA.
  • Plusieurs dépôts « PoC » circulent sur GitHub. Tenable n’a pu confirmer le fonctionnement d’aucun d’entre eux — traitez-les comme du code non fiable, potentiellement malveillant.

Organisations qui ont coupé leurs services (BambooHR, DigiD…) →

Quelles configurations serveur sont exposées

mod_php est le plus clairement exploitable, mais chaque SAPI qui sert des requêtes web a besoin du correctif.

Configuration…109618…109619Remarques
Apache + mod_phpRCE confirméeRCE confirméeLes deux CVE ont été confirmées jusqu’à la RCE avec les limites par défaut. Configuration la plus à risque.
PHP-FPM (nginx, Apache, Caddy…)ExposéRCE confirméeRCE via le cycle de vie des sessions confirmée sur FPM. Chemin OOM confirmé via des chemins de code applicatifs ; aucun exploit FPM générique publié.
FrankenPHP / LiteSpeed LSAPIProbableProbableL’avis les considère comme probablement exposés. Les workers de longue durée rendent l’état résiduel entre requêtes plus pertinent, pas moins.
CLI (cron, workers de file, artisan)Non traitéNon traitéNon traité par les avis et non joignable par des requêtes HTTP en usage normal. Mettez à jour quand même — c’est le même paquet.

À quelle heure le correctif est-il sorti dans mon fuseau ?

PHP a publié les versions corrigées le mardi 21 octobre 2026 à 14:00 UTC — 16:00 en France, en Belgique, au Luxembourg et en Suisse. Ce jour-là, les États-Unis et l’Europe étaient encore à l’heure d’été : « EST » désignait en réalité EDT (UTC−4).

Fuseau horaireCorrectif publié
UTC14:00
États-Unis Pacifique (PDT, UTC−7)07:00
États-Unis Centre (CDT, UTC−5)09:00
États-Unis Est (EDT, UTC−4)10:00
Royaume-Uni (BST, UTC+1)15:00
Europe centrale (CEST, UTC+2)16:00
Inde (IST, UTC+5:30)19:30
Chine / HK / SG (UTC+8)22:00
Japon (JST, UTC+9)23:00
Sydney (AEDT, UTC+11)01:00

Ce qu’un attaquant peut faire

Exécuter du code sans se connecter

Exécution de code sous l’utilisateur du worker PHP (p. ex. www-data) : webshells, vol de données, défiguration, déplacement latéral.

Lire la mémoire d’autres requêtes

La mémoire du worker peut contenir des mots de passe de base de données, des clés d’API, des cookies de session, du matériel TLS et les données de formulaire d’autres utilisateurs.

Exfiltrer des données en silence

Le chemin de divulgation mémoire ne nécessite aucune exécution de code : les outils qui surveillent les processus malveillants peuvent ne jamais se déclencher.

Erreurs fréquentes

Les façons les plus rapides de se croire protégé alors qu’on ne l’est pas.

Si vous pensez…En réalité
« J’ai mis à jour WordPress / mes extensions. »Le bug se trouve dans l’interpréteur PHP. Les mises à jour applicatives n’y touchent pas. Même un simple script « Hello World » sur un PHP vulnérable est exposé.
« J’ai mis session.upload_progress.enabled = 0. »Cela bloque certains chemins confirmés d’une CVE. Cela ne fait rien contre CVE-2026-109618. Les développeurs de PHP eux-mêmes disent que la seule atténuation est la mise à jour.
« J’ai lancé apt upgrade, c’est réglé. »Les processus PHP-FPM / Apache en cours gardent l’ancien binaire en mémoire jusqu’à leur redémarrage.
« php -v dit que je suis à jour. »C’est la CLI. Le serveur web peut utiliser un autre paquet, conteneur ou version. Vérifiez php-fpm -v ou phpinfo().
« Je suis derrière Cloudflare / un WAF. »Les règles WAF réduisent le risque sur les charges connues ; les attaquants les modifient déjà, et les serveurs d’origine sont souvent joignables directement. Cela fait gagner du temps, ce n’est pas la correction.
« Ma version paraît ancienne, donc je suis vulnérable. »Pas forcément. Debian, Ubuntu et RHEL rétroportent les correctifs sans changer le numéro amont. Vérifiez le changelog du paquet.

Les deux CVE en un coup d’œil

Le déroulé

  1. 2026-10-20 15:00 UTCLes identifiants CVE circulent sur des forums et réseaux sociaux, avec un CVSS erroné de 10.0.
  2. 2026-10-20 19:30 UTCPHP publie sa pré-annonce plus tôt que prévu.
  3. 2026-10-20 ~20:00 UTCCalif publie par erreur une vidéo de sa preuve de concept.
  4. 2026-10-20 23:00 UTCDes conseils d’atténuation sont envoyés à certains opérateurs d’infrastructures critiques et ont peut-être fuité.
  5. 2026-10-21 03:02 UTCLes règles WAF de Cloudflare sont activées pour toutes les offres, y compris Free.
  6. 2026-10-21 07:41 UTCChainguard publie des images corrigées et rompt l’embargo avec plus de six heures d’avance.
  7. 2026-10-21 11:51 UTCBambooHR coupe son service par précaution (États-Unis, Canada, Irlande).
  8. 2026-10-21 (CEST)Des sites publics et éducatifs néerlandais, dont DigiD et MijnOverheid, sont coupés par précaution.
  9. 2026-10-21 14:00 UTCPublication coordonnée : PHP 8.5.12, 8.4.27, 8.3.36, 8.2.35, plus des rétroportages source pour 7.4, 8.0, 8.1. Initialement prévue le 22 oct.
  10. 2026-10-21 15:03 UTCBambooHR indique que le correctif est appliqué et en cours de test.

Chronologie complète depuis l’audit de 2024 → · Par rapport au bug Java de 2021 : PHP2Shell vs Log4Shell →