Sans développeur PHP, commencez par récupérer les accès, tester les sauvegardes et identifier PHP. Choisissez ensuite un PHP corrigé, une migration ou une archive statique pour traiter PHP2Shell.

01

Récupérer accès et responsabilité

Retrouver registrar, hébergement, serveur/panneau, code, accès DB et facturation. Désigner qui valide la maintenance et restaure le service. Identifier application et version par les fichiers locaux. Récupérer les accès ou sources manquants avant de changer PHP en production.

02

Préserver les preuves et restaurer une sauvegarde

Si intrusion suspectée, conserver les journaux avant nettoyage. Sauvegarder code, DB, médias, configuration et tâches en un ensemble daté, chiffré et protégé. Noter encodage et stockage externe. Restaurer en privé puis tester contenus et connexion; le message de sauvegarde ne suffit pas.

Un patch n’exclut pas une compromission ↗

03

Comparer chaque génération PHP

PHP 5.3/5.6 peut utiliser des API supprimées. PHP 7 retire ext/mysql; PHP 8 retire each()/create_function() et durcit types/signatures; PHP 8.2 déprécie les propriétés dynamiques. Lire chaque guide traversé. Un minimum historique ne recommande pas un PHP abandonné et ne teste pas les développements spécifiques.

04

Choisir réparation, migration ou archive

Un correctif fournisseur prouvé peut laisser du temps pour migrer; vérifier les deux CVE et le support. Un PHP abandonné exige une cible maintenue, pas une exception WAF permanente. Réparer une application maîtrisée, remplacer les dépendances abandonnées, envisager une archive statique pour les contenus et remplacer recherche, connexion et formulaires dynamiques.

05

Préparer un essai privé réaliste

Aligner PHP Web, extensions, INI, DB et routage avec la cible. Protéger les copies anonymisées et empêcher mails réels, paiements et webhooks de production. Tester ensemble framework, plugins et code spécifique. Consigner tests métier et journaux; demander ces preuves à l’hébergeur si nécessaire.

06

Prévoir le retour avec les écritures et schémas

Garder fichiers et DB cohérents. Revenir à PHP ne défait pas une migration de schéma. Prévoir gel des écritures ou synchronisation testée, critères d’échec, responsable et délai. Prendre en compte les commandes après sauvegarde et répéter restauration et rapprochement.

07

Vérifier les services réellement actifs

Contrôler PHP Web, tous les pools FPM, workers, tâches, conteneurs et répliques; remplacer les anciens processus. Prouver les deux correctifs CVE par version ou avis fournisseur. Tester liens profonds, connexion, médias et métier. Conserver journaux et fenêtre de retour; CLI et accueil ne suffisent pas.

Vérifier les correctifs PHP2Shell ↗

Tests métier après correction de PHP2Shell

Connexion, sessions et rôles

Tester connexion, déconnexion et réinitialisation avec un compte de test; vérifier sessions, administration et rôles.

Liens profonds et statuts HTTP

Ouvrir un lien profond, envoyer un formulaire et demander une page absente; comparer paramètres, redirections et statuts HTTP.

Lectures/écritures DB

Lire/écrire des données représentatives dans la copie; vérifier pilotes, SQL strict, transactions et restitution.

Modèles et échappement

Afficher articles, listes, comptes et erreurs; vérifier balises personnalisées, échappement, caches et avertissements.

Médias et miniatures

Téléverser une image inoffensive, lire la miniature puis supprimer; vérifier droits, chemins et URL en bloquant les fichiers exécutables.

Tâches nouvelles et existantes

Traiter une tâche nouvelle et existante avec le nouveau worker; vérifier sérialisation, reprises et absence de doublons.

Planification et chemins PHP

Vérifier le binaire PHP, INI et compte du planificateur; exécuter une tâche sans effet dans la copie et comparer après déploiement.

Caches froids/chauds et OPcache

Reconstruire les caches selon la documentation; tester à froid/chaud et supprimer anciennes données sérialisées et processus OPcache.

Courrier de test

Envoyer les mails vers un collecteur de test; vérifier modèles, files et transport sans contacter les clients.

Commandes, taxes et stock

Tester commande, livraison, taxes, remise et remboursement en sandbox; comparer totaux, stock et historique.

Paiements sandbox et notifications

Tester succès, échec et notification asynchrone de paiement; vérifier signature et idempotence pour éviter les doublons.

Sites, domaines et langues

Tester chaque site, domaine et langue avec le bon rôle; vérifier cookies, URL et configuration locale.

GBK/UTF-8 et restitution

Faire transiter caractères spéciaux par formulaire, base et export; conserver GBK/UTF-8 avant conversion testée séparément.

Contrats API et callbacks

Tester API authentifiée ou non; comparer types JSON, erreurs, statuts et callbacks.

Extensions Web/CLI et ABI

Vérifier les extensions en Web et CLI avec ABI/NTS/ZTS corrects; tester pilotes et services.

Vérifier les correctifs PHP2Shell

Compatibilité applicative, maintenance et sécurité PHP sont distinctes. Choisissez une branche PHP maintenue corrigeant les deux CVE, puis vérifiez tous les processus Web, tâches planifiées et réplicas. Mettre à jour un plugin ne remplace pas PHP.

Quatre branches. Une cible précise.
Branche PHPVersions amont inférieures àPremière version corrigéeFin du support de sécurité
PHP 8.5< 8.5.12✓ 8.5.1231 déc. 2029
PHP 8.4< 8.4.27✓ 8.4.2731 déc. 2028
PHP 8.3< 8.3.36✓ 8.3.3631 déc. 2027
PHP 8.2< 8.2.35✓ 8.2.3531 déc. 2026
PHP 8.1 ou antérieur ?

Aucune publication PHP habituelle n’est prévue pour ces branches. Des rétroportages source minimaux existent pour 7.4, 8.0 et 8.1. Vérifiez séparément le support du fournisseur. Lire le guide ↗

Source originale

PHP security teamSource originale ↗CVE-2026-109618Source originale ↗CVE-2026-109619Source originale ↗PHP 7.0Source originale ↗PHP 8.0Source originale ↗PHP 8.2Source originale ↗PHPSource originale ↗ComposerSource originale ↗
Correction PHP2Shell - résoudre les erreurs PHP ↗← Retour aux guides des applications