Les développeurs PHP ont annoncé la publication aujourd'hui à 17h00 (MSK) de mises à jour urgentes (8.5.12, 8.4.27, 8.3.36 et 8.2.35), qui corrigeront deux vulnérabilités critiques. Tous les administrateurs de serveurs utilisant PHP sont invités à appliquer immédiatement les correctifs sur leurs systÚmes, dÚs leur sortie. Les détails seront officiellement révélés uniquement aprÚs la publication des correctifs, mais selon les informations déjà accessibles publiquement, il s'agit des vulnérabilités CVE-2026-109618 et CVE-2026-109619, permettant potentiellement l'exécution à distance de code sur n'importe quel serveur web exécutant des scripts PHP dans une configuration par défaut. Les problÚmes affectent toutes les versions à partir de PHP 5.4.
Des prototypes d'exploits (1, 2) pour tester la vulnérabilité des systÚmes sont déjà disponibles sur le réseau. Dans la note accompagnant l'exploit, il est affirmé que les vulnérabilités sont causées par des accÚs à de la mémoire déjà libérée dans le gestionnaire de suivi de la progression des téléchargements de fichiers sur serveur (session.upload_progress). La présence d'une fonctionnalité de téléchargement de fichiers sur le site n'est pas nécessaire pour mener l'attaque, il suffit d'un déclenchement automatique dans l'interpréteur PHP du gestionnaire de contenu «multipart/form-data». Pour réussir l'exploitation, il est nécessaire de définir la disposition des structures en mémoire du processus, qui est spécifique à chaque compilation (le problÚme est résolu en parcourant dans l'exploit les décalages, pré-calculés pour les paquets provenant de différentes distributions).
Comme solution de contournement, il est recommandĂ© de dĂ©sactiver le paramĂštre dans php.ini «session.upload_progress.enabled = off» (ou «php_admin_flag[session.upload_progress.enabled] = off» dans PHP-FPM), mais un reprĂ©sentant du projet PHP, ainsi que l'auteur du premier prototype d'exploit, affirment que cela ne suffit pas pour bloquer les deux vulnĂ©rabilitĂ©s. Dans la note accompagnant le deuxiĂšme prototype d'exploit, il est mentionnĂ© qu'en plus de la configuration ci-dessus dans php.ini, pour prĂ©venir l'attaque sans appliquer de patch, il est nĂ©cessaire de bloquer complĂštement les requĂȘtes avec le type de contenu «multipart/form-data», ce qui rendra impossible le tĂ©lĂ©chargement de fichiers via des formulaires web.
Dans Apache httpd, pour bloquer les requĂȘtes multipart, vous pouvez utiliser la rĂšgle suivante dans mod_rewrite:
RewriteCond %{HTTP:Content-Type} multipart [NC]
RewriteRule ^ â [F,L]
Pour bloquer dans nginx :
if ($http_content_type ~* «multipart») {
return 403;
}
Pour bloquer dans Caddy :
@multipart header_regexp Content-Type (?i)multipart
respond @multipart 403
Mise à jour : Des mises à jour correctives pour PHP 8.5.12, 8.4.27, 8.3.36 et 8.2.35 ont été publiées, ainsi que des détails sur les failles critiques corrigées. Une analyse des vulnérabilités et des méthodes de contournement recommandées a été publiée dans une nouvelle distincte.
Source : opennet.ru
