5 vulnérabilités PHP en 2025 et comment les sécuriser

Les correctifs php2shell (CVE-2026-109618 et CVE-2026-109619) pour les versions de PHP en fin de vie sont désormais disponibles. Les réponses du service commercial étant plus lentes que d'habitude en raison d'une forte demande, le moyen le plus rapide d'obtenir les paquets corrigés est d'acheter ELS for Runtimes en ligne (s'ouvre dans un nouvel onglet). Consulter la FAQ sur les correctifs

Accédez directement au résumé généré par l'IA de cet article de blog

  • Résumez cet article avec Perplexity
  • Résume cet article avec Gemini

Principaux enseignements

  • Détecter de manière proactive les vulnérabilités de PHP à l'aide de scanners, d'audits de code et d'outils d'analyse statique afin de garder une longueur d'avance sur l'évolution des menaces dans les environnements Linux.
  • Sécurisez votre pile PHP avec des configurations php.ini renforcées, des dépendances régulièrement corrigées et l'utilisation cohérente de pratiques de codage sécurisées.
  • Le support du cycle de vie sans fin de TuxCare pour PHP assure la sécurité des versions obsolètes comme PHP 7.4 grâce à des correctifs continus, sans compromettre la compatibilité.

PHP est un langage de script universel à code source ouvert, principalement utilisé pour le développement de sites web. En 2025, il reste l'une des technologies les plus ciblées, se classant régulièrement parmi les projets logiciels les plus importants en termes de nombre de CVE. Si vos serveurs reposent sur des applications PHP et que vous ne vous tenez pas au courant des correctifs de sécurité, vous risquez de laisser la porte grande ouverte aux attaquants.

Dans cet article, nous allons décomposer les vulnérabilités PHP les plus courantes - y compris l'exécution de code à distance, l'injection SQL et les configurations non sécurisées - et fournir des stratégies exploitables pour vous aider à les atténuer efficacement.

5 vulnérabilités PHP courantes

Même en 2025, les applications PHP continuent de faire face à des menaces de sécurité familières mais en constante évolution. Les attaquants ciblent fréquemment les faiblesses dans le traitement des entrées, la gestion des sessions et l'exécution de code pour compromettre les systèmes. Si vous ne vous attaquez pas directement à ces problèmes, votre système est exposé.

1. Exécution de code à distance (RCE)

Les attaquants exploitent des fonctions telles que eval(), system()ou des téléchargements de fichiers non nettoyés afin d'exécuter un code arbitraire sur votre serveur. Exécution de code à distance est souvent associé à attaques contre la chaîne d'approvisionnement en utilisant des paquets malveillants de Composer. C'est pourquoi il est essentiel d'assurer une surveillance proactive de vos dépendances.

Atténuation : Désactiver les fonctions PHP dangereuses à l'aide de l'option disable_functions dans php.ini, valider strictement toutes les entrées, et mettre en œuvre une gestion robuste du téléchargement de fichiers, y compris une analyse antivirus et une validation stricte du type MIME.

2. Injection SQL

Bien qu'il s'agisse d'une attaque ancienne et bien connue, l'injection SQL persiste dans les applications anciennes ou lorsque les développeurs omettent les instructions préparées. Les variantes modernes exploitent les ORM comme Eloquent ou Doctrine lorsqu'ils sont mal utilisés.

Atténuation : Utilisez toujours des requêtes paramétrées avec PDO ou MySQLi. Évitez l'interpolation de chaînes de caractères pour les opérations de base de données. Activez la journalisation des bases de données et la protection du pare-feu des applications web (WAF) pour détecter les schémas inhabituels.

3. Les scripts intersites (XSS)

XSS reste une menace dans les zones de contenu généré par les utilisateurs, comme les commentaires ou les profils. Les attaquants injectent du JavaScript malveillant pour détourner des sessions ou voler des données.

Atténuation : Utiliser des fonctions d'encodage de sortie robustes telles que htmlspecialchars() et mettre en œuvre une politique de sécurité du contenu (CSP) stricte pour contrôler les ressources autorisées. Assainir les entrées à l'aide de fonctions de filtrage PHP ou de frameworks tels que le moteur de validation de Laravel.

4. Attaques par inclusion de fichiers

Utilisation non sécurisée des include, requireLes chemins d'accès aux fichiers locaux ou dynamiques conduisent à l'inclusion de fichiers locaux (LFI) ou à l'inclusion de fichiers à distance (RFI). Les attaquants les utilisent pour lire les fichiers système ou exécuter des portes dérobées.

Atténuation : Évitez totalement l'inclusion dynamique de fichiers sur la base de données fournies par l'utilisateur. Si l'inclusion dynamique est absolument nécessaire, mettez en place une liste blanche stricte des fichiers autorisés. Désactiver allow_url_include dans php.ini, et définir les restrictions de répertoire appropriées avec open_basedir.

5. Détournement de session

La gestion des sessions par défaut de PHP est vulnérable si les identifiants de session sont divulgués ou prévisibles. Les attaquants utilisent cela pour usurper l'identité des utilisateurs, en particulier si les sessions ne sont pas cryptées ou limitées dans le temps.

Atténuation : Forcer l'utilisation de HTTPS pour tous les cookies de session, définir session.cookie_httponly=1Il faut également envisager d'utiliser des mécanismes de stockage des sessions plus robustes que le stockage par fichier par défaut si l'évolutivité et la sécurité sont essentielles.

Pourquoi les vulnérabilités de PHP sont-elles dangereuses ?

Les vulnérabilités de PHP peuvent permettre aux attaquants d'accéder directement au cœur de votre système. Un seul point faible - comme un téléchargement de fichier mal géré ou une entrée utilisateur non nettoyée - peut entraîner la compromission totale du serveur, le vol de données ou l'injection de logiciels malveillants. Et comme les applications PHP sont souvent exécutées avec des privilèges élevés, les dommages peuvent rapidement se propager à l'ensemble de votre infrastructure.

En 2025, PHP alimente encore des plates-formes CMS très répandues telles que WordPress et Joomla, ainsi que des applications d'entreprise personnalisées. Il s'agit donc d'une cible de grande valeur. Les attaquants n'ont souvent pas besoin de franchir le périmètre de votre réseau ; une application PHP accessible au public et comportant une faille exploitable constitue une porte ouverte.

Une vulnérabilité PHP peut devenir une passerelle vers l'ensemble de votre environnement. Si vous ne sécurisez pas et ne scannez pas votre pile PHP de manière proactive, vous n'êtes qu'à une mauvaise requête d'une violation.

Comment détecter les vulnérabilités de PHP dans votre système ?

Les méthodes suivantes peuvent vous aider à identifier les vulnérabilités de PHP dans votre système avant que les attaquants ne les exploitent :

Outils d'analyse statique du code

Utilisez des outils tels que PHPStan, SonarQube (pour les fonctions d'analyse statique) ou RIPS Code Analysis pour examiner votre code PHP sans l'exécuter. Ces outils identifient les fonctions non sûres, les modèles de codage non sécurisés et les mauvaises configurations potentielles qui pourraient conduire à des vulnérabilités.

Audits de paquets

Exécuter composer audit régulièrement pour vérifier les dépendances de votre projet afin de détecter les vulnérabilités de sécurité connues dans les paquets PHP que vous utilisez.

Inspection des journaux et détection des anomalies

Analysez votre serveur web et les journaux d'erreurs PHP à la recherche d'activités inhabituelles, telles que des erreurs excessives liées à des scripts PHP spécifiques, des tentatives d'accès à des fichiers inexistants ou des requêtes POST suspectes. Des outils tels que Fail2Ban peuvent bloquer automatiquement les IP malveillantes sur la base de modèles détectés.

Révision du manuel

Inspecter manuellement les fichiers de configuration critiques (par exemple, config.php, .env) à la recherche d'informations d'identification ou d'informations sensibles. Examinez attentivement la gestion des entrées utilisateur dans les scripts tels que les gestionnaires de téléchargement et la logique de traitement des formulaires, car ce sont des cibles fréquentes pour les vulnérabilités d'injection et les opérations de fichiers non sécurisées.

En outre, mettez en œuvre des contrôles automatisés réguliers, idéalement hebdomadaires, via des pipelines CI/CD ou des tâches cron. Cela permet d'assurer une surveillance continue et une détection précoce des vulnérabilités nouvellement introduites sans intervention manuelle, réduisant ainsi la fenêtre d'opportunité pour les attaquants.

Vérifier les avis CVE

La plupart des distributions Linux maintiennent activement des pages d'avis CVE (Common Vulnerabilities and Exposures) ou des listes de diffusion. Ces ressources suivent les vulnérabilités qui affectent les paquets de la distribution, y compris PHP et les bibliothèques associées.

Une surveillance régulière de ces avis peut vous alerter sur des faiblesses potentielles au niveau du système qui pourraient avoir un impact sur vos applications PHP. Vous pouvez souvent trouver des informations sur la façon de vérifier si vos paquets installés sont affectés et sur la façon d'appliquer les mises à jour ou les correctifs nécessaires fournis par votre distribution.

Pour Ubuntu, vous pouvez consulter la page des avis de sécurité d'Ubuntu. Pour les systèmes basés sur Red Hat, vous pouvez consulter les avis de sécurité de Red Hat.

Comment se prémunir contre les vulnérabilités de PHP

Toujours appliquer les dernières mises à jour de sécurité de PHP

Pour les versions de PHP supportées (comme la 8.x), le moyen le plus simple et le plus efficace de remédier aux vulnérabilités connues est de rester à jour. L'équipe PHP publie fréquemment des correctifs pour les failles de sécurité, dont certaines sont activement exploitées dans la nature.

Utilisez le support de cycle de vie sans fin de TuxCare pour PHP

De nombreuses applications patrimoniales dépendent encore de versions en fin de vie (EOL) telles que PHP 7.4 ou même 5.6 - généralement en raison de problèmes de compatibilité ou de complexités de migration. Cependant, ces versions non prises en charge ne reçoivent plus de mises à jour de sécurité critiques, ce qui les rend vulnérables à l'exploitation.

L'Endless Lifecycle Support (ELS) de TuxCare fournit des correctifs de sécurité continus pour les versions PHP obsolètes sans nécessiter de changements de code ou de mises à niveau de version risquées. Cela signifie que vous pouvez sécuriser vos applications PHP existantes tout en maintenant la stabilité en production.

Disponible pour Linux et Windows, TuxCare prend en charge :

VersionsPHP EOL: PHP 5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4, et 8.0.

Versions actuelles de PHP : PHP 8.1, 8.2 (dont la fin de vie est prévue le 31 décembre 2026) et 8.3 via un référentiel sécurisé et centralisé.

Cela vous permet de maintenir les systèmes existants en toute sécurité et de planifier les mises à niveau selon votre calendrier, sans compromettre la sécurité.

Consultez la page CVE de TuxCare pour découvrir toutes les vulnérabilités PHP connues et voir la disponibilité des correctifs.

Maintenir les bibliothèques et dépendances à jour

Les bibliothèques et dépendances PHP obsolètes constituent une menace silencieuse, les attaquants exploitant souvent des vulnérabilités connues dans des paquets populaires.

Utilisez l'audit intégré de Composer :

audit des compositeurs

Ensuite, mettre à jour avec :

Mise à jour du compositeur

Activez les mises à jour automatiques des dépendances à l'aide d'outils tels que Dependabot ou Renovate. De plus, figez les versions connues dans composer.lock afin d'éviter des comportements inattendus lors des déploiements.

Appliquer des normes de codage sécurisées

Les bases de code PHP doivent suivre des pratiques de sécurité modernes par défaut. Cela inclut

  • Utilisez des instructions préparées pour les requêtes de base de données afin d'éviter SQLi.
  • Sanitisez toutes les entrées et échappez toutes les sorties pour empêcher les XSS.
  • Éviter les fonctions obsolètes ou dangereuses comme eval() et create_function().
  • Mettre en place des jetons CSRF dans tous les formulaires afin d'empêcher la falsification des requêtes intersites.

Surveiller, enregistrer et répondre aux menaces en temps réel

La sécurité n'est pas une configuration ponctuelle, mais une gestion continue des vulnérabilités. Surveillez votre environnement en permanence.

  • Déployer un pare-feu d'application Web (WAF) tel que ModSecurity ou une solution basée sur le cloud.
  • Utilisez Fail2Ban pour bloquer les tentatives de connexion par force brute.
  • Surveillez les journaux avec des outils tels que Logwatch, Graylog ou ELK Stack.
  • Mettez en place des alertes en cas de comportement inhabituel (par exemple, des pics d'erreurs HTTP 500, des tentatives de connexion inhabituelles, des téléchargements de fichiers inattendus).

Gardez une longueur d'avance sur les vulnérabilités PHP avec TuxCare

Les vulnérabilités de PHP ne disparaissent pas - et si vous utilisez encore des versions anciennes comme PHP 7.4 ou antérieures, vous avez besoin de plus que de bonnes intentions. Vous avez besoin de mises à jour de sécurité permanentes qui n'endommageront pas votre pile.

L'Endless Lifecycle Support for PHP de TuxCare offre justement cela : des correctifs de sécurité étendus pour les versions PHP en fin de vie, afin que vous puissiez rester protégé tout en planifiant les mises à niveau selon vos conditions.

N'attendez pas que la prochaine CVE touche la production - c'est maintenant qu'il faut agir. Contactez nos experts en sécurité pour savoir comment TuxCare protège les applications PHP obsolètes, ou consultez notre article sur les risques liés à l'utilisation de logiciels en fin de vie.

Résumé
5 vulnérabilités PHP en 2025 et comment les sécuriser
Nom de l'article
5 vulnérabilités PHP en 2025 et comment les sécuriser
Description
Votre application PHP est-elle sécurisée ? Découvrez les vulnérabilités courantes de PHP, les risques qu'elles présentent et les meilleures pratiques pour se prémunir contre les attaques.
Auteur
Nom de l'éditeur
de TuxCare
Logo de l'éditeur

Rejoignez plus de 4 500 professionnels de Linux et de l'Open Source!

2 fois par mois. Pas de spam.

Table des matières
Obtenez les réponses à vos questions sur la sécurité des logiciels libres

Rejoignez plus de 4 500 professionnels de Linux et de l'Open Source!

2 fois par mois. Pas de spam.