diff --git a/install/fpm/configuration.xml b/install/fpm/configuration.xml index e33c099864ce..e2396d9482cd 100644 --- a/install/fpm/configuration.xml +++ b/install/fpm/configuration.xml @@ -251,6 +251,23 @@ 'ip.add.re.ss:port', 'port', '/path/to/unix/socket'. This option is mandatory for each pool. + + + An exposed FastCGI endpoint allows arbitrary code execution. + When the web server runs on the same host, a Unix socket should be + preferred; on Linux its access is then controlled by + listen.owner, + listen.group and listen.mode, + although many BSD-derived systems accept connections regardless of + those permissions. + When a TCP socket is used, the addresses allowed to connect must be + listed in + listen.allowed_clients, + which is unset by default and then accepts any address. + In container setups, the FPM service should not publish its port on + the host; containers on the same network reach each other directly. + + diff --git a/install/fpm/index.xml b/install/fpm/index.xml index c4644a0e232e..f466595a00d8 100644 --- a/install/fpm/index.xml +++ b/install/fpm/index.xml @@ -41,11 +41,11 @@ - + fastcgi_finish_request - special function to finish request and flush all data while continuing to do something time-consuming (video converting, stats processing etc.); - + @@ -66,6 +66,20 @@ + + + php-fpm must not be reachable from an untrusted network. + A client that can open a FastCGI connection controls the + configuration used for the request, including + auto_prepend_file, + and can therefore execute arbitrary code. + Access is restricted through the + listen and + listen.allowed_clients + directives. + + + &install.fpm.install; &install.fpm.configuration;