Parent : [[INDEX-CYBERSECU]]
Anti-Pattern : PHP-FPM TCP exposé avec configuration par défaut
Description
Exposer PHP-FPM sur un port TCP (127.0.0.1:14002, 9000, etc.) avec la configuration par défaut incluant fastcgi_split_path_info vulnérable et security.limit_extensions désactivé. Cela permet l'exploitation CVE-2019-11043 pour exécuter du code PHP arbitraire.
Exemple réel - Archive Ygg
# fcgi_exploit_phpfpm.py
dat = b"""
PHP_VALUE: auto_prepend_file = php://input
PHP_VALUE: allow_url_include = On
"""
# Exploite PHP-FPM sur 127.0.0.1:14002
c = remote("127.0.0.1", 14002)
Conséquences
- RCE complète : Exécution de code PHP arbitraire
- Vol de credentials : Lecture de
wp-config.php,.env, bases de données - Persistence : Installation de webshells
- Lateral movement : Accès aux autres services internes
Quand c'est acceptable
JAMAIS en production. En développement local uniquement, et temporairement.
Solution
- Socket UNIX au lieu de TCP
security.limit_extensionsactivé- PHP-FPM patché (>= 7.3.11)
- Supprimer
fastcgi_split_path_infosi possible - Monitoring des logs FastCGI
Voir KNOW-PAT-060 — Exploitation PHP-FPM RCE via FastCGI.
Références
- Archive Ygg :
10_SERVEURS_LATERAUX/11b_web_185.132.134.125/fcgi_exploit_phpfpm.py - CVE-2019-11043