PHP uses longjmp() to abort the handling of a request when it runs out of memory. Some code paths do not account for this and leave internal request data only partially initialized. The request cleanup that follows may then treat that invalid data as valid. Several out-of-memory strategies trigger this reliably and can lead to unauthenticated remote code execution.
Every PHP installation that serves web requests is exposed, including PHP-FPM, Apache with mod_php, php-cgi, FrankenPHP and LiteSpeed. The risk is highest for mod_php: a demonstrated exploit triggers the attack with an unauthenticated request before any application code runs.
Install the updated PHP packages from your distribution, or update to PHP 8.2.35, 8.3.36, 8.4.27, 8.5.12 or later. If your distribution or PHP branch has no fix, move to a supported PHP branch or build from source with the published patch.
Only an update fixes this. Until you can update, these measures reduce exposure to specific attack paths but do not make an installation safe:
memory_limit=-1 in a way applications cannot override, for example with php_admin_value in the FPM pool or the Apache configuration, and check that no pool, directory or application setting puts a finite limit back. An underlying allocation failure can still reach the vulnerable path.8.3.36-1.el10_28.3.36-1.el10_28.3.36-1.el10_28.3.36-1.el10_28.3.36-1.el10_28.3.36-1.el10_28.3.36-1.el10_28.3.36-1.el10_28.3.36-1.el10_28.3.36-1.el10_2Exploitability
AV:NAC:HAT:PPR:NUI:NVulnerable System
VC:HVI:HVA:HSubsequent System
SC:NSI:NSA:N9.2/CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N