01En bref
PHP2Shell, ce sont deux failles critiques corrigées en urgence le 21 octobre 2026, et une troisième annoncée deux jours plus tard sans correctif.
- Le problème est dans PHP, pas dans votre site. Mettre à jour WordPress, Drupal ou PrestaShop ne change rien : c'est le moteur PHP qu'il faut corriger.
- Une simple requête web suffit. Pas de compte, pas de mot de passe : l'attaquant envoie un formulaire piégé et peut exécuter ses commandes sur le serveur.
- Versions corrigées : PHP 8.2.35, 8.3.36, 8.4.27 et 8.5.12. En dessous, tout dépend de votre distribution ou de votre hébergeur.
- Mesure immédiate :
session.upload_progress.enabled = 0dans la configuration de PHP réduit le risque sur deux des trois failles, sans impact pour la plupart des sites. Elle ne protège pas de la 109618 : seule la mise à jour la corrige. - L'exploitation est réelle mais ciblée : prises de contrôle confirmées sur des serveurs leurres, pas encore d'exploitation de masse à la date de ce guide.
Corruption mémoire à l'envoi de formulaire
Un envoi de fichiers démesuré épuise la mémoire de PHP en pleine préparation de la requête.
Données de session réutilisées
Le suivi de progression des envois laisse des restes en mémoire, réutilisés par la requête suivante.
Troisième faille, sans correctif
Exploitable dans une combinaison rare de configuration et de code. Neutralisée par le même réglage du php.ini.
02Chronologie
Neuf jours entre la première tentative et l'inscription au catalogue des failles activement exploitées de la CISA.
- 17 octobrePremière tentative d'exploitation observée par Amazon sur ses pièges, quatre jours avant les correctifs.
- 20 octobreFuite des détails et d'un premier code d'attaque ; PHP annonce les correctifs.
- 21 octobreCorrectifs d'urgence de PHP (8.2.35, 8.3.36, 8.4.27, 8.5.12). Alertes du CERT-FR et de la CISA. En France, à la demande de l'ANSSI, le ministère de l'Intérieur met ses sites en maintenance préventive. Un botnet de type Mirai (« Potassium ») tente déjà de s'en servir.
- 22 – 23 octobreOutils d'attaque industrialisés, millions de tentatives bloquées par les grands filtres web. Troisième faille annoncée (CVE-2026-115560), sans correctif. La CISA publie une règle de détection Sigma.
- 24 octobrePremières prises de contrôle confirmées, sur des serveurs leurres (35 shells sur 3 pièges). Repérage discret de 216 cibles attribué, avec une confiance modérée, à un acteur lié à la Corée du Nord (CYFIRMA).
- 25 octobrePalo Alto Unit 42 retire son rapport du 23 sur une administration européenne compromise : le lien avec PHP2Shell n'est pas établi.
- 26 octobreLa CISA inscrit les deux failles à son catalogue KEV des failles activement exploitées. L'exploitation réussie est confirmée publiquement.
03Comprendre la faille
La faille se déclenche dans le moteur PHP, pendant la lecture de la requête, avant même que le code du site ne s'exécute.
Deux failles, deux mécanismes
Mémoire épuisée en pleine lecture
L'attaquant envoie un formulaire démesuré. PHP manque de mémoire et s'interrompt pendant qu'il prépare la requête. Il laisse derrière lui des données à moitié construites, que l'attaquant détourne pour faire exécuter ses commandes.
Restes de session réutilisés
Une première requête dépose des données en mémoire via le suivi de progression des envois. La mémoire est libérée, mais PHP en garde une trace. La requête suivante réutilise ces restes : l'attaquant en prend le contrôle.
Ce qui se passe dans le moteur
CVE-2026-109618 touche l'analyse des requêtes multipart/form-data (le code RFC 1867 de PHP). Lorsque la limite memory_limit est atteinte en plein traitement, la sortie d'erreur interrompt l'analyse par un saut non local et laisse des structures partiellement initialisées. Une requête suivante dans le même processus peut alors s'appuyer sur cet état corrompu. Les journaux montrent typiquement des erreurs Allowed memory size … exhausted sur rfc1867.c ou Unknown on line 0.
CVE-2026-109619 touche le mécanisme session.upload_progress : un état global n'est pas remis à zéro entre deux requêtes traitées par le même processus, d'où l'utilisation d'une donnée libérée. C'est la voie la plus tentée par les attaquants ; la seule compromission confirmée à ce jour passe pourtant par la 109618.
Pourquoi le modèle de processus compte : les chaînes publiques supposent qu'une requête de préparation et la requête d'exécution tombent sur le même processus PHP. Apache avec mod_php en mode prefork est le cas le plus favorable à l'attaquant ; un pool PHP-FPM chargé avec beaucoup de processus rend l'attaque plus aléatoire, sans la rendre impossible.
Une chaîne observée en conditions réelles, cohérente avec la 109618 (serveurs leurres du 24 octobre, PHP 8.4.26 sous Apache mod_php à un seul processus) : épuisement mémoire, fuite d'adresses via un cookie de session géant, nouvelle requête de préparation, puis exécution de commande. Quatre étapes, des corps de requête de 280 Ko à 33 Mo.
La troisième faille : CVE-2026-115560
Annoncée le 23 octobre, elle n'a pas de correctif. PHP la décrit comme exploitable dans une combinaison inhabituelle de configuration et de code applicatif, et n'a pas publié de version d'urgence. PHP comme Red Hat indiquent que désactiver session.upload_progress la neutralise.
Ce qui protège, et ce qui ne protège pas
| Mesure | Effet | Commentaire |
|---|---|---|
| Mettre à jour PHP (ou le paquet corrigé de la distribution) | Corrige | Puis redémarrer PHP-FPM ou Apache : sinon l'ancien PHP tourne toujours. |
session.upload_progress.enabled = 0 | Réduit | Couvre la 109619 et la troisième faille, pas la 109618. Selon PHP, aucun réglage ne protège complètement. |
| Pare-feu applicatif avec règles dédiées | Réduit | Bloque les attaques connues ; une variante inédite peut passer. |
| Interdire au serveur web de joindre Internet | Limite | N'empêche pas l'intrusion, mais empêche de télécharger une charge ou d'appeler un serveur de commande. À faire après inventaire des flux légitimes (paiement, mises à jour, e-mail). |
| Mettre à jour le CMS, le thème ou les extensions | Sans effet | La faille est dans PHP, avant le site. |
04Qui est touché
Toutes les versions de PHP depuis la 5.4 de façon certaine, jusqu'à la 8.5 non corrigée. Ce qui change d'une version à l'autre, c'est l'existence d'un correctif.
| Branche | Correctif disponible | Voie recommandée |
|---|---|---|
| 8.3 · 8.4 · 8.5 | 8.3.36 · 8.4.27 · 8.5.12 | Mettre à jour, redémarrer PHP. |
| 8.2 | 8.2.35 | Mettre à jour, puis viser 8.3 : plus aucun correctif après 2026. |
| 7.4 · 8.0 · 8.1 | Correctif source PHP | Paquet corrigé de la distribution, du panneau ou d'un tiers ; planifier la migration. |
| 5.4 – 7.3 | Tiers (souvent payants) | Paquets de tiers (CloudLinux alt-php, support étendu, rétroportages communautaires) ou isolement, et migration de l'application. |
| 4.x · 5.0 – 5.3 | Aucun | Exposition non établie, mais aucun correctif d'aucune sorte : réécrire l'application, isoler ou couper d'Internet en attendant. |
Red Hat et dérivées (Rocky, Alma, Oracle)
| Version | PHP fourni | Correctif Red Hat (état au 23/10) |
|---|---|---|
| RHEL 10 | 8.3, 8.4 | 8.3 et 8.4 corrigés |
| RHEL 9 | 8.0 (base), 8.1 à 8.4 (flux) | 8.0, 8.2, 8.3 flux 8.1 en fin de vie (mai 2025) 8.4 en attente |
| RHEL 8 | 7.2 (base), 7.3 à 8.2 (flux) | 7.4 et 8.2 7.2, 7.3, 8.0 : aucun |
| RHEL 7 | 5.4 (base), 7.x en collections | Aucun correctif public au 23/10 une seule des deux failles concerne la 5.4 ; interroger le support étendu |
| RHEL 6 · 5 | 5.3 · 5.1 | Aucun, hors support |
Hébergeurs, panneaux et clouds
Souvent déjà corrigé
OVHcloud, o2switch et Infomaniak ont déployé des correctifs jusqu'aux anciennes versions de PHP. Vérifiez quand même la version servie par votre site.
C'est à vous d'agir
Sur un serveur que vous administrez, personne ne corrige à votre place, même chez un grand hébergeur.
cPanel, Plesk, CloudLinux
Correctifs publiés dans les heures suivantes : jusqu'à PHP 7.4 dans les paquets cPanel et Plesk, jusqu'aux versions 5 avec CloudLinux.
Filtres, pas correctifs
Cloudflare a déployé des règles dès le 21 octobre à 3 h 02 UTC, quelques heures avant les correctifs. Azure ne corrige pas les versions hors support : à ses clients de migrer.
CMS : que peut-on migrer ?
| Application | Point de blocage | Effort |
|---|---|---|
| WordPress | Rarement bloquant ; vérifier les extensions anciennes avant de passer en PHP 8.3+. | Mise à jour |
| Drupal | Drupal 7 est hors support depuis janvier 2025 ; viser Drupal 10 ou 11. | Mise à jour à Projet |
| PrestaShop | 1.6 limité à PHP 7.1, 1.7 limité à 7.4 : aucune version PHP 8 possible sans changer de version majeure. | Refonte |
| Applications maison | Écrites pour PHP 4 ou 5 : aucune version cible n'existe sans réécriture. | Réécriture |
05État de l'exploitation
L'exploitation fonctionne, mais reste ciblée : à la date de ce guide, aucune victime réelle n'est confirmée publiquement et aucune vague de masse n'est observée.
Des prises de contrôle réelles
Le 24 octobre, des serveurs leurres ont été compromis 35 fois par deux sources, dans une configuration volontairement favorable (PHP 8.4.26, Apache mod_php, un seul processus).
Pas d'exploit public fiable sur une configuration standard
Selon Sansec, les exploits publics échouent sur une installation PHP standard. Des exploits privés fonctionnels existent (VulnCheck), et VulnCheck n'a confirmé aucune exploitation réussie en conditions réelles.
Ce que montrent les capteurs CrowdSec (21 au 25 octobre)
| Mesure | Valeur | Lecture |
|---|---|---|
| Adresses ayant tenté PHP2Shell | 1 187 | Sur un réseau de capteurs, surtout en Allemagne, France et États-Unis. |
| Nouvelles adresses par jour | ≈ 130 | Après un pic de 612 le 22 octobre, puis plateau. |
| Sources visant la voie de session (109619) | 429 | Contre 147 pour la faille mémoire : la voie de session est la plus tentée, mais les intrusions confirmées passaient par la 109618. |
| Sources ayant insisté (10 requêtes et plus) | 24 | La moitié des sources n'a envoyé qu'une requête : on teste plus qu'on ne récolte. |
Les signaux qui feraient basculer vers l'exploitation de masse
- Un exploit public fiable sur un PHP standardC'est le déclencheur principal. Avec React2Shell, le nombre de sources attaquantes a été multiplié par 27 entre le deuxième et le sixième jour.
- Une hausse nette des nouvelles sourcesAu-delà du plateau d'environ 130 par jour.
- Plus d'attaquants insistantsUne vraie tentative se répète contre la même cible.
- La faille mémoire qui rattrape la voie de sessionLe signe d'outils plus aboutis.
06Que faire maintenant
Un arbre de décision selon votre version de PHP, puis quatre actions valables pour tout le monde.
- InventorierLister tous les serveurs qui exécutent PHP, y compris les environnements de test exposés, les sites oubliés et les serveurs « considérés comme fermés ». Ce sont eux qui tombent.
- Corriger, puis redémarrerUn binaire corrigé ne protège rien tant que les processus PHP-FPM ou Apache tournent encore avec l'ancien. Vérifier ensuite la version réellement servie.
- Durcir et filtrer en attendantRéglage du php.ini, règles de pare-feu applicatif (patch virtuel), interdiction des connexions sortantes du serveur web.
- Isoler ce qui ne peut pas être corrigéLe blocage depuis l'extérieur est une mesure d'attente : chaque application coupée doit être corrigée et rouverte au plus vite.
- Chercher une compromissionSur tout serveur exposé et non corrigé depuis le 17 octobre (voir Détecter une intrusion).
- Renouveler les secrets« Aucune trace trouvée » ne veut pas dire « non compromis » : l'une des failles permet de lire la mémoire. Mots de passe de base de données, clés d'API et clés applicatives des serveurs exposés sont à changer.
07Vérifier son correctif
Trois questions : quelle version tourne vraiment, le paquet installé est-il corrigé, et a-t-on redémarré ?
Sur un hébergement mutualisé, une page phpinfo() temporaire (à supprimer aussitôt) ou l'interface de l'hébergeur indique la version. Sur un serveur, les commandes ci-dessous suffisent.
Red Hat, Rocky, Alma
php -v # version de la ligne de commande rpm -qa 'php*' | sort # paquets installés (y compris collections rh-php / remi) rpm -q --changelog php php8.4 2>/dev/null | grep -iE '109618|109619' | head # nom du paquet selon le flux dnf updateinfo list --all --cve CVE-2026-109618 # RHEL 8+ : avis installé ou à installer systemctl restart php-fpm # indispensable après la mise à jour # avec mod_php (sans PHP-FPM) : systemctl restart httpd
Debian, Ubuntu
php -v
dpkg -l 'php*' | awk '/^ii/{print $2, $3}'
zcat /usr/share/doc/php*-common/changelog.Debian.gz 2>/dev/null | grep -iE '109618|109619' | head
systemctl restart 'php*-fpm.service' # avec mod_php : systemctl restart apache2Vérifier la version réellement servie, pas celle de la ligne de commande
La commande php peut être une autre version que celle utilisée par le site (collections logicielles, plusieurs pools PHP-FPM, conteneurs). Vérifier chaque processus en cours :
# binaire réel de chaque pool PHP-FPM et date de démarrage du processus for p in $(pgrep -f 'php-fpm: master'); do echo "PID $p : $(readlink /proc/$p/exe) démarré le $(ps -o lstart= -p $p)" done # un processus démarré AVANT la mise à jour tourne avec l'ancien binaire
Avec Apache et mod_php, c'est le module chargé par Apache qui compte : httpd -M | grep php, puis vérifier le paquet qui fournit le module.
08Durcir PHP en attendant
Une ligne coupe la voie la plus tentée et la troisième faille. Pour la 109618, aucun réglage ne protège complètement selon PHP : on réduit seulement la surface.
; PHP2Shell — mesures d'attente (ne remplacent pas la mise à jour) session.upload_progress.enabled = 0 ; 109619 et troisième faille (115560) post_max_size = 8M ; 109618 : limiter la taille des envois au strict nécessaire session.use_strict_mode = 1 ; refuse les identifiants de session inventés session.serialize_handler = php ; le MÊME réglage partout, aucun mélange par dossier
Avec PHP-FPM, imposer aussi le réglage dans chaque pool, pour qu'aucun site ne puisse le réactiver : php_admin_flag[session.upload_progress.enabled] = off. Red Hat recommande en complément de réduire post_max_size et de garder un memory_limit borné (jamais -1) : ces réglages limitent la 109618 sans la corriger. Adapter post_max_size si vos sites reçoivent des fichiers plus lourds.
Le suivi de progression des envois n'est utilisé que par de rares interfaces d'envoi de fichiers avec barre de progression côté serveur. Pour la plupart des sites, le désactiver n'a aucun effet visible. Redémarrer PHP-FPM ou Apache ensuite.
Pourquoi uniformiser le serialize_handler
Un dépôt de recherche publié après les correctifs affirme qu'une chaîne liée à la faille mémoire contourne la désactivation de session.upload_progress lorsque deux dossiers d'un même pool PHP-FPM utilisent des session.serialize_handler différents, et que l'application contient une classe exploitable (des bibliothèques courantes sont citées). Cette affirmation n'est pas confirmée par une seconde source. Mesure simple et sans risque : un seul réglage pour tout le pool, et vérifier qu'aucun .user.ini ou .htaccess ne le change localement.
# réglages de session modifiés localement dans les sites grep -rIE 'serialize_handler|upload_progress' --include=.user.ini --include=.htaccess /var/www 2>/dev/null grep -rIE 'serialize_handler|upload_progress' /etc/php-fpm.d /etc/php/*/fpm/pool.d 2>/dev/null
Filtrer avec un pare-feu applicatif
Plusieurs éditeurs ont publié des règles dédiées : CrowdSec (crowdsecurity/vpatch-CVE-2026-109618 et -109619, en ligne avant même les correctifs), Cloudflare, Check Point, Sophos, Fortinet, ainsi que des règles ModSecurity et Suricata partagées dans des dépôts communautaires. Un filtre ne voit le contenu d'une requête HTTPS que là où elle est déchiffrée : sur le reverse proxy, ou avec une inspection HTTPS.
09Détecter une intrusion
Quatre endroits à regarder : les journaux, les fichiers, les processus et le réseau.
1. Journaux web et PHP
# outils connus : user-agents et URL (seuls éléments présents dans les journaux d'accès) zgrep -hiE 'php2shell|php-session-startup-rce-poc|sess_p2sopchain' \ /var/log/httpd/*access* /var/log/nginx/*access* /var/log/apache2/*access* 2>/dev/null | tail -50 # rafales d'erreurs mémoire caractéristiques de la faille 109618 zgrep -hE 'Allowed memory size.*rfc1867|Unknown on line 0|Failed to decode session object' \ /var/log/php-fpm/* /var/log/php*-fpm.log /var/log/httpd/*error* /var/log/apache2/*error* /var/log/nginx/*error* 2>/dev/null | tail -50 # plantages de processus PHP (segfault) dans le journal noyau (journal persistant requis) journalctl _TRANSPORT=kernel --since '2026-10-17' | grep -iE '(php|httpd|apache2).*segfault|segfault.*(php|httpd|apache2)' | tail
2. Fichiers déposés
# PHP récent dans les dossiers d'envoi (emplacement typique d'un webshell)
find /var/www -xdev -type f -name '*.ph*' -newermt 2026-10-17 \
\( -path '*/upload*' -o -path '*/images/*' -o -path '*/files/*' -o -path '*/cache/*' \) -ls
# images contenant du code PHP
grep -rlaE '<\?php|eval\(' --include='*.jpg' --include='*.jpeg' --include='*.png' --include='*.gif' --include='*.webp' /var/www 2>/dev/null
# fichiers de preuve laissés par les outils d'attaque et charges connues
find /tmp /var/tmp /dev/shm -xdev \( -name x1 -o -name p1 -o -name nfs -o -name mountpoint -o -name cCmono \) -ls
ls -la /var/www/p1 /var/www/html/p1 2>/dev/null # tentatives d'écriture observées sur les leurres
# sessions PHP contenant du code
grep -rlE '<\?php|system\(|base64_decode' /var/lib/php/session* /tmp/sess_* /tmp/systemd-private-*/tmp/sess_* 2>/dev/null/tmp, rangé dans /tmp/systemd-private-*/tmp/. Une charge déposée « dans /tmp » par l'attaquant s'y trouve : chercher aussi dans ces dossiers.3. Processus
# shells et outils réseau lancés par le compte du serveur web ps -eo user,pid,ppid,lstart,cmd --forest | grep -E '^(apache|nginx|www-data)' \ | grep -E '(^|[ /])(sh|bash|dash|curl|wget|python[0-9.]*|perl|nc|ncat|socat)( |$)' # programmes exécutés depuis /tmp ou dont le fichier a été supprimé ls -l /proc/[0-9]*/exe 2>/dev/null | grep -E '/tmp/|/dev/shm/|\(deleted\)'
(deleted) apparaît aussi pour tout processus non redémarré après une mise à jour : à recouper.4. Réseau
# connexions ouvertes par PHP ou Apache vers autre chose que les visiteurs (hors ports 80/443 locaux) ss -tnp state established '( not sport = :80 and not sport = :443 )' | grep -E 'httpd|apache2|php-fpm' # connexions vers les serveurs de commande du botnet Potassium ss -tn dst 134.199.154.64 ; ss -tn dst 117.55.202.115
curl lancé par l'attaquant apparaît sous son propre nom : le contrôle des processus le repère.Surveillance continue : auditd et règle Sigma
Une règle auditd trace en temps réel tout programme lancé par le compte du serveur web. C'est le signal le plus fiable d'une exécution de commande, quelle que soit la variante d'exploit.
# /etc/audit/rules.d/php2shell.rules (remplacer 48 par l'UID réel : id -u apache) # (Debian : www-data = 33) -a always,exit -F arch=b64 -S execve -F uid=48 -k php2shell_exec -a always,exit -F arch=b32 -S execve -F uid=48 -k php2shell_exec -a always,exit -F arch=b64 -S memfd_create -F uid=48 -k php2shell_memfd # puis : augenrules --load ; recherche : ausearch -k php2shell_exec -i
Prévoir du volume si l'application lance des programmes de façon légitime (envoi d'e-mails, traitement d'images) : repérer ces commandes habituelles les premiers jours.
La CISA a publié le 23 octobre une règle Sigma pour la détection côté journaux. Côté réseau, des règles Suricata et Zeek partagées dans des dépôts communautaires repèrent le champ PHP_SESSION_UPLOAD_PROGRESS associé à des corps multipart anormalement volumineux.
10Indicateurs de compromission
Les indicateurs publiés par les chercheurs et éditeurs, triés par force du signal. Une connexion sortante vers l'infrastructure d'attaque vaut compromission ; une requête entrante d'un scanner, une simple tentative.
Télécharger la liste (.txt) Télécharger avec sources (.csv)
Infrastructure d'attaque · signal fort
| Indicateur | Rôle | Source |
|---|---|---|
| 15.204.59.70 | Intrusions confirmées sur serveurs leurres, rappel :8081/ok33 | Honeypots A. Karimi |
| 162.35.99.94 | Intrusions confirmées (32 shells), rappel :8080/pwn-* | Honeypots A. Karimi |
| 92.118.112.100 | Hébergement des charges (/nfs, /nfs-setup, /mountpoint) | Sophos, Arctic Wolf |
| 134.199.154.64 | Serveur de commande du botnet Potassium | Sophos, ELLIO |
| 117.55.202.115 | Serveur de commande Potassium | Sophos |
| 89.32.41.16 · 89.32.41.50 | Hébergement des binaires du botnet | Hunt.io |
| 206.188.197.105 | Serveur d'outils et d'exploitation de masse | SOCRadar, Hunt.io |
| 45.115.26.26 | Charge :8000/cCmono | Arctic Wolf |
| 41.223.30.7 · 102.210.149.166 · 122.10.17.49 · 122.10.110.72 · 58.221.60.160 · 157.230.117.70 · 104.219.251.31 · 107.150.31.151 | Serveurs exposant des outils PHP2Shell (dossiers ouverts) | Hunt.io |
| 124.221.46.164 · 122.10.130.72 | Écouteurs et charges d'exploitation exposés | Cybersecurity News |
Domaines, empreintes et réseau
| Indicateur | Type | Source |
|---|---|---|
| godofthunder.st (thunder.) | Serveur de commande du botnet | Sophos, Hunt.io |
| botlesscucks.st · gettingheadfromduckysmom.st | Domaines du botnet | Sophos, Hunt.io |
| maste.mangsud.org | Téléchargement de webshells | Hunt.io |
| 0c5486f06620e26e316f4b33f318b0d646d5e1133789331aa2fed012360d1486 | SHA-256, binaire Potassium | Sophos, Arctic Wolf |
| e2529d4afa39ae4db2eb05d5176317c906289abf09660c75bdeec43e54c55aa3 | SHA-256, charge liée | Arctic Wolf |
| b61a098fc62a2c2696e196dca78da71a | MD5, binaire Potassium | Sophos |
| TCP 50217 à 52645 | Ports de commande du botnet (14 ports, dont 50792) | ELLIO |
Marqueurs dans les requêtes et sur le système · signal moyen
| Indicateur | Où le chercher |
|---|---|
| php2shell-scan/109618 · php2shell-109618 · php-session-startup-rce-poc | User-agent des journaux web |
| B7kQpoc618 · CCCCCCCCCC | Frontière multipart (corps des requêtes : pare-feu applicatif, capture réseau) |
| PHP2SHELL_CONFIRMED · RCE_noyzzg0YVLBU · JACKALPOC | Preuve d'exécution de commande (journaux, sessions) |
| P2SMARK · P2SFNAME · P2SVALUE · P2SOP- · sess_p2sopchain | Marqueurs d'outils de scan, sessions PHP |
| /tmp/x1 · /tmp/nfs · /var/www/p1 · /var/www/html/p1 | Fichiers de preuve et charges sur le disque (écritures dans /var/www tentées sur les leurres) |
| Allowed memory size … rfc1867.c · Unknown on line 0 | Journaux d'erreurs PHP (rafales = tentative) |
Scanners connus (tentatives entrantes) et précautions d'usage
Sources de tentatives : 45.198.224.0/24, 85.11.167.243, 204.76.203.7, 5.175.189.76, 217.60.242.76, 144.48.4.242, 221.14.159.134, 87.121.84.174, 181.215.186.252, 185.196.220.132, 185.161.210.29, 152.233.51.69, 45.134.225.16, 107.189.14.87, 193.47.62.24, 103.147.220.17, ainsi que les listes d'Amazon et d'ELLIO (fichier téléchargeable). Les 55 adresses publiées par CYFIRMA sont des nœuds soupçonnés, possiblement eux-mêmes compromis : à chercher dans vos journaux, pas à présumer hostiles.
Précautions : Amazon recommande d'enquêter sur ses adresses plutôt que de les bloquer, car certaines relèvent d'infrastructures d'anonymisation partagées. Ne pas bloquer 134.154.64.199, leurre appartenant à une université. Les adresses d'infrastructures d'anonymisation connues sont signalées « enquêter, ne pas bloquer » ; les serveurs de laboratoires de recherche et d'audits cités dans les rapports sont exclus de nos listes. Un indicateur vieillit vite : une adresse propre aujourd'hui peut servir demain.
11Questions fréquentes
Mon site WordPress est à jour, suis-je protégé ?
Non. La faille est dans PHP, qui s'exécute avant WordPress. Il faut un PHP corrigé (ou un hébergeur qui l'a corrigé), quelle que soit la version de WordPress.
Je suis sur un hébergement mutualisé, dois-je faire quelque chose ?
Les grands hébergeurs français ont corrigé, souvent jusqu'aux anciennes versions. Vérifiez la version de PHP de votre site dans l'interface et passez sur une version maintenue (8.3 ou plus) si vous le pouvez.
Désactiver session.upload_progress casse-t-il mon site ?
Très rarement. Cette option ne sert qu'aux barres de progression d'envoi gérées côté serveur, peu utilisées. Testez sur un environnement de recette si vous avez un doute.
J'ai mis à jour PHP, c'est fini ?
Presque : redémarrez PHP-FPM ou Apache, vérifiez la version réellement servie, puis cherchez une compromission antérieure si le serveur était exposé depuis le 17 octobre, et renouvelez les secrets.
Mon application ne fonctionne qu'en PHP 5 ou 7, que faire ?
À court terme : réduire l'exposition (accès restreint, pare-feu applicatif, coupure d'Internet si possible) ou souscrire un support étendu payant. À moyen terme, il n'y a pas d'autre issue que la migration ou la réécriture.
Un pare-feu applicatif suffit-il ?
Non, il fait gagner du temps. Il bloque les attaques connues, mais une variante inédite peut passer. Il complète la correction, il ne la remplace pas.
Ma version affiche 7.4 mais mon hébergeur dit qu'elle est corrigée, qui croire ?
Les deux peuvent être vrais : les distributions et hébergeurs corrigent souvent sans changer le numéro de version. Seul le paquet installé, comparé à l'avis de sécurité du fournisseur, fait foi.
Besoin d'y voir clair sur votre exposition ?
Inventaire de vos serveurs PHP exposés, versions réelles, priorités de correction : FactualRisk et Digimoove vous accompagnent.
12Sources
- CISA · alerte du 21 octobre et règle Sigma
- BleepingComputer · inscription au catalogue KEV
- BleepingComputer · exploitation réussie (26/10)
- SecurityWeek · des sondes aux shells
- Adel Karimi · rapport des serveurs leurres
- CrowdSec · pas encore d'exploitation de masse
- Palo Alto Unit 42 · rapport et rétractation du 25/10
- Sophos · code d'exploitation et indicateurs
- Arctic Wolf · analyse et indicateurs
- The Hacker News · des millions de tentatives
- isMalicious · indicateurs Amazon et Hunt.io
- Amazon · exploitation avant publication
- Cybersecurity News · outils d'exploitation publics
- Censys · avis et mesure d'exposition
- CERT-FR · alerte CERTFR-2026-ALE-014
- Red Hat · bulletin RHSB-2026-013 et avis RHSA associés
- PHP · avis de sécurité des 20, 21 et 23 octobre
- W3Techs, VirusTotal · mesures d'exposition
- Cloudflare · règles WAF
- ELLIO · observations et indicateurs
- Hunt.io · dossiers ouverts
Ce guide est mis à jour au fil des publications. Les informations datent du 27 octobre 2026 ; un indicateur ou un état de correctif peut avoir évolué depuis. Vérifiez toujours auprès de l'éditeur de votre distribution.