Explorer
KNOW-ANT-009

Anti-Pattern : PHP-FPM TCP exposé avec configuration par défaut

Domaine
cybersecu
Type
anti-pattern
Priorité
P2

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_extensions activé
  • PHP-FPM patché (>= 7.3.11)
  • Supprimer fastcgi_split_path_info si 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