🏛️ Modernisation & Souveraineté Numérique
BULLETIN D'ALERTE SÉCURITÉ SI • PRIORITÉ ABSOLUE Réf : ANSIE-SEC-ADV-2026-004 • Publié le 24 Octobre 2026

Multiples vulnérabilités critiques d'exécution de code à distance identifiées dans PHP

Avis technique impératif émis par l'Agence Nationale des Systèmes d'Information de l'État à destination des directions informatiques, hébergeurs et webmestres des institutions publiques de la République de Djibouti.

Niveau de Sévérité
Critique (CVSS 9.8 / 10)
Type de Vulnérabilité
Exécution de code arbitraire à distance (Remote Code Execution - RCE)
Vecteur d'Attaque
Réseau / Aucun privilège requis
Identifiants CVE
CVE-2024-4577 CVE-2024-2756 CVE-2024-3094

1 Résumé Exécutif & Contexte

Une série de vulnérabilités critiques affectant l'interpréteur PHP a été identifiée. Dans plusieurs configurations très courantes (notamment mode CGI, wrappers FastCGI et environnements avec gestion de codepage spécifique), un attaquant distant non authentifié peut injecter des arguments de ligne de commande directement à l'interpréteur PHP via des requêtes HTTP forgées. Cette faille permet d'obtenir l'exécution arbitraire de code sur le serveur hôte et la prise de contrôle complète de l'application publique.

Public et périmètre visés : Administrations publiques, Ministères, Opérateurs d'infrastructures critiques, Webmestres et Administrateurs Systèmes de la République de Djibouti.

L'Agence Nationale des Systèmes d'Information de l'État (ANSIE), dans le cadre de sa mission de coordination et de sécurisation des systèmes d'information gouvernementaux, enjoint l'ensemble des responsables informatiques des ministères, institutions publiques et régies étatiques à appliquer sans délai les mesures correctives et palliatives détaillées ci-après.

2 Versions Affectées & Disponibilité des Correctifs

Branche PHP Versions Vulnérables Version Minimale Sécurisée Statut Correctif
PHP 8.3 Versions antérieures à 8.3.8 PHP 8.3.8 ou version ultérieure (8.3.12+) Mise à jour disponible
PHP 8.2 Versions antérieures à 8.2.20 PHP 8.2.20 ou version ultérieure Mise à jour disponible
PHP 8.1 Versions antérieures à 8.1.29 PHP 8.1.29 ou version ultérieure Mise à jour disponible
PHP 8.0, 7.4, 7.x, 5.x Toutes les versions (Fin de vie / EOL) Migration obligatoire vers PHP 8.2+ ou 8.3+ Critique • Aucun patch officiel

3 Plan d'Action Technique Obligatoire pour les Équipes SI

L'ANSIE prescrit l'application systématique des 5 mesures conservatoires et correctives ci-dessous sur l'ensemble des serveurs publics et intranets de l'État :

01
Mesure Prioritaire #1

Mise à niveau immédiate (Patching de sécurité)

Appliquer immédiatement les paquets correctifs fournis par les dépôts officiels de votre distribution (Ubuntu, Debian, RHEL/Rocky Linux) vers les versions PHP 8.3.8+, 8.2.20+ ou 8.1.29+. Redémarrer les services PHP-FPM et les serveurs web associés.

02
Durcissement Immédiat

Désactivation des fonctions système d'exécution dans php.ini

Dans les fichiers php.ini de production (/etc/php/*/fpm/php.ini et /etc/php/*/cli/php.ini), renseigner explicitement la directive : disable_functions = exec, passthru, shell_exec, system, proc_open, popen, eval. Cela neutralise toute tentative d'appel de commande OS par un attaquant.

03
Prévention RFI

Blocage strict de l'inclusion distante de fichiers

Vérifier et forcer allow_url_fopen = Off et allow_url_include = Off. Ces deux directives empêchent le téléchargement et l'évaluation directe de scripts malveillants distants hébergés sur des serveurs tiers.

04
Réduction de Surface d'Attaque

Masquage des signatures et désactivation de l'affichage des erreurs

Forcer expose_php = Off pour empêcher la détection automatique de la version de PHP via les en-têtes HTTP X-Powered-By. Configurer display_errors = Off et log_errors = On pour journaliser les incidents sans les exposer aux utilisateurs.

05
Détection & Blocage Périmétrique

Filtrage WAF et surveillance des journaux d'accès

Déployer sur vos reverse-proxies ou pare-feux applicatifs (WAF) des règles d'interdiction pour les requêtes HTTP contenant la séquence encodée %ad, %adauto_prepend_file, ou des arguments CLI anormaux. Analyser activement les logs Nginx/Apache pour détecter tout code HTTP 200 suspect sur des chemins d'injection connus.

4 Directives de Durcissement Recommandées (php.ini)

Insérez ces directives dans vos fichiers de configuration php.ini (modules FPM, CLI et Apache) puis rechargez les démons avec systemctl reload php*-fpm :

/etc/php/*/fpm/php.ini
; ===================================================================
; Configuration de durcissement préconisée par l'ANSIE
; À insérer dans /etc/php/[version]/fpm/php.ini & /etc/php/[version]/apache2/php.ini
; ===================================================================

[PHP-SECURITY-HARDENING]
; 1. Désactivation des fonctions d'exécution du système d'exploitation
disable_functions = exec, passthru, shell_exec, system, proc_open, popen, curl_exec, curl_multi_exec, parse_ini_file, show_source, eval

; 2. Blocage des inclusions distantes
allow_url_fopen = Off
allow_url_include = Off

; 3. Masquage des informations techniques
expose_php = Off
display_errors = Off
display_startup_errors = Off
log_errors = On
error_log = /var/log/php_errors.log

; 4. Isolation des sessions et permissions
session.cookie_httponly = 1
session.cookie_secure = 1
session.use_strict_mode = 1
session.cookie_samesite = Strict

; 5. Restriction des accès répertoires
open_basedir = /var/www/html/:/tmp/

5 Indicateurs de Compromission (IoC) à Rechercher

Les équipes d'exploitation doivent inspecter leurs journaux d'accès web (/var/log/nginx/access.log ou /var/log/apache2/access.log) pour vérifier l'absence des signaux suivants :

  • ⚠️ Présence dans les logs web de requêtes contenant `?%ad` ou `?-d+auto_prepend_file`
  • ⚠️ Connexions sortantes non planifiées vers des adresses IP publiques depuis les comptes système `www-data`, `apache` ou `nginx`
  • ⚠️ Fichiers suspects récemment créés dans les répertoires `/tmp`, `/dev/shm` ou `C:\Windows\Temp`
  • ⚠️ Processus persistants exécutant des commandes shell interactives lancés par le processus parent PHP-FPM