If your application runs on a PHP version older than 8.2, this page is written for you. It is factual, it does not require you to be a developer, and it ends with the three things to do.
On 21 October 2026 the PHP project published fixes for two critical bugs, CVE-2026-109618 and CVE-2026-109619. Both let an attacker run code on the server without logging in, both are rated 9.2 out of 10, and both affect every PHP that serves web pages, however it is run: PHP-FPM, Apache with mod_php, php-cgi, LiteSpeed, FrankenPHP. Public proof-of-concept exploits exist and exploitation attempts have been seen in the wild since the day of the release.
In plain terms: the first bug is triggered by a specially crafted form or upload request that makes PHP run out of memory while it is still setting up, leaving things half built. The second lets leftover data from one request affect the next request handled by the same worker process. Neither needs a password, a user account, or a bug in your application code.
| Your PHP version | Status | What it means |
|---|---|---|
| 8.2, 8.3, 8.4, 8.5 | Fixed | Install 8.2.35, 8.3.36, 8.4.27 or 8.5.12 from your usual package source and restart PHP. An hour of work. |
| 7.4, 8.0, 8.1 | Source patch only | PHP published a minimal patch to the source code, not a package. Applying it means compiling PHP yourself on every server, and your host will not do it for you. A few Linux distributions and paid long-term-support vendors ship their own patched builds; most shared and managed hosts do not. |
| 7.3 and older | No fix at all | Nothing was published and nothing will be. The only way off is a newer PHP. |
The versions in the second and third rows together run roughly four in ten PHP sites on the public internet. If yours is one of them, your developer cannot "just update PHP". That option does not exist.
Partly, and only as a stopgap. The PHP project and security vendors list settings that close the known paths in. They do not make an unpatched PHP safe, and they do nothing for the next vulnerability.
post_max_size and, counter-intuitively, remove the per-request memory limit administratively so the memory failure that corrupts state cannot happen mid-setup.Be careful with anyone who tells you these settings fix the problem. They reduce exposure to two known attack paths. The server stays unpatched. Any written statement to your insurer, auditor, or customers should say so.
In 48 hours we confirm your version and exposure, apply what can be applied, and hand you a fixed quote for the move to a supported version. The check is $750, credited against the migration.
Email us your PHP version Run the free check first