Repository navigation
Report requests that PHP-FPM fails to start as errors - #2226
Open
GrahamCampbell wants to merge 1 commit into
Open
GrahamCampbell wants to merge 1 commit into
GrahamCampbell wants to merge 1 commit into
Conversation
GrahamCampbell
marked this pull request as ready for review
October 21, 2026 15:22
GrahamCampbell
force-pushed
the
fpm-empty-response
branch
from
October 21, 2026 15:23
9ba7979 to
339f4a1
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When PHP-FPM fails to start a request, for example because PHP runs out of memory while parsing the request body, the worker ends the FastCGI request without writing any output and exits with code 70 (see
php_request_startup()insapi/fpm/fpm/fpm_main.c). Bref turns that empty output into a 200 with an empty body, so the failure is invisible to clients and to the Lambda error metrics. PHP-FPM writes at least the blank line that ends the headers for any request it actually runs, so empty output can only mean the request never started, and this now throwsFastCgiCommunicationFailedlike the other PHP-FPM failures. The advisory for CVE-2026-109618 describes request bodies crafted to run PHP out of memory during request startup, which on PHP-FPM end up on exactly this path. The test runs PHP-FPM with a low memory limit and posts enough small form variables to exceed it while the body is parsed.