CVE-2026-109619 : état global obsolète (PHP2Shell)CVE-2026-109618 : PHP2ShellCVE-2026-86869 : faille « zéro clic » via iMessage dans iOS, iPadOS et macOS
Vulnérabilité

CVE-2026-109618 : PHP2Shell

Faible

Description

Résumé

Identifiant CVE-2026-109618 (GHSA-w8hw-w9fx-j79w)
Surnom PHP2Shell
Produit PHP (moteur / runtime)
Type Corruption mémoire lors de la gestion d’un dépassement mémoire (OOM), use-after-free
Score CVSS v4.0 9,2 (Critique)
Authentification requise Non
Impact Exécution de code à distance, fuite de mémoire du serveur
Exploitation Preuves de concept publiques, tentatives de scan observées
Découverte Calif, Wiz Research et OpenAI
Correctif 21 octobre 2026

Description

PHP limite la mémoire utilisée par chaque requête avec le paramètre memory_limit. Quand une requête dépasse cette limite, PHP l’interrompt brutalement (via longjmp()).

Le problème : cette interruption peut survenir alors que PHP est en train de préparer des données internes, par exemple pendant l’analyse d’un formulaire avec envoi de fichier. Les données restent à moitié initialisées. Lors du nettoyage de la requête, PHP les considère quand même comme valides et tente de libérer une zone mémoire qui peut encore contenir des données envoyées par l’attaquant.

Un attaquant peut ainsi provoquer volontairement ce dépassement mémoire avec une requête spécialement construite et prendre le contrôle de l’exécution. La faille peut aussi, à elle seule, faire fuiter des données de la mémoire du serveur.

L’attaque se déclenche avant l’exécution du code de l’application. Un site bien codé reste donc vulnérable.

Versions concernées

  • PHP 8.5 avant 8.5.12
  • PHP 8.4 avant 8.4.27
  • PHP 8.3 avant 8.3.36
  • PHP 8.2 avant 8.2.35
  • PHP 8.1 et versions plus anciennes (jusqu’à 5.4), qui ne reçoivent plus de mises à jour officielles

Configurations exposées : PHP-FPM, Apache avec mod_php (configuration jugée la plus risquée par l’équipe PHP), php-cgi, FrankenPHP, LiteSpeed.

Versions corrigées

  • PHP 8.5.12, 8.4.27, 8.3.36, 8.2.35
  • Correctifs source publiés pour PHP 7.4, 8.0 et 8.1 (pour ceux qui compilent eux-mêmes)

Recommandations

  • Mettre à jour immédiatement puis redémarrer tous les workers PHP.
  • Utiliser les paquets corrigés de votre distribution Linux ou de votre hébergeur.
  • Si la mise à jour est impossible : isoler le serveur d’Internet.

Mesures temporaires (ne remplacent pas la mise à jour)

  • Définir memory_limit=-1 de façon non modifiable par l’application (par exemple avec php_admin_value).
  • Réduire post_max_size : 8M sans envoi de fichiers, 32M avec. Garder upload_max_filesize en dessous.
  • Limiter la taille et le nombre de champs des requêtes au niveau du serveur web ou du proxy.
  • Bloquer les requêtes multipart/form-data si l’application n’accepte pas de formulaires ou d’envois de fichiers.

Faille liée

Cette faille est exploitée en combinaison avec CVE-2026-109619 dans l’outil PHP2Shell.

Références