Your PHP sites can be taken over with one request. We'll close the hole, and keep it closed.
Every PHP installation that serves web traffic is affected by CVE-2026-109618 and CVE-2026-109619. We find every exposed system you have, upgrade or rebuild what's vulnerable, and test that it's fixed without breaking your business.
On 21 October 2026 the PHP project released emergency fixes for two memory-safety bugs in the PHP engine. If you have the in-house skills, here's what to do.
CVE-2026-109618
Out-of-memory corruption
When PHP runs out of memory, it can stop partway through setting up a request. The cleanup step then treats the half-built data as valid. An attacker can trigger this with a crafted request, such as a large multipart upload, and use it to run code.
PHP keeps some global state that points to memory owned by a request. If that state isn't reset before the memory is freed, the next request on the same worker can use the stale pointer. This is a use-after-free that leads to remote code execution.
At disclosure, the Remi repository had not published fixed builds. If you depend on it, switch to your distribution's packages or build from source.
FROM php:8.3.36-fpm # or 8.4.27-apache, 8.5.12-cli, ...
docker build --pull --no-cache -t myapp .
docker run --rm myapp php -v
Base images cached on CI runners and in registries will still be vulnerable. Rebuild everything.
Ask your host directly: "Are you patched for CVE-2026-109618 and CVE-2026-109619, and have all PHP workers been restarted?" If they can't confirm it, ask them to apply the mitigations below, or ask us to migrate you.
2. Can't patch today? Mitigate
These steps block the known attack paths only. Other variants may exist. They buy time. They don't make you safe.
; php.ini or FPM pool. Must apply before request parsing; ini_set() and .user.ini do NOT work.
session.upload_progress.enabled = 0 ; CVE-2026-109619
fatal_error_backtraces = 0 ; PHP 8.5 only
php_admin_value[memory_limit] = -1 ; CVE-2026-109618 (pool level)
post_max_size = 8M ; 32M if uploads are needed
upload_max_filesize = 6M ; keep it below post_max_size
; Then restart EVERY worker.
Also cap request body size, field count and multipart parts at your web server or proxy. Turn on WAF rules: Cloudflare has released managed rules for the known exploit patterns, including on its free plan.
3. Check whether you were already hit
Look for new .php files in upload and cache folders, unknown cron jobs, outbound connections from PHP workers, worker segfaults, and large multipart POSTs to arbitrary URLs. If you find anything, snapshot the server before you change it, rotate every secret the web user could read, and get a compromise assessment.
Questions companies ask us
We patched PHP. Why would we still need you?
Patching is often only part of the job. Common gaps: a forgotten second server or staging site, workers that were never restarted, distro packages that don't include the backport, and attackers who got in before the patch. Our testing service checks all of these.
Our app runs on PHP 7.x. Can't you just upgrade it?
Sometimes. Older code often uses features removed in PHP 8, and plugins and extensions may need replacing. We start with a code audit so you know whether you're looking at an upgrade or a rebuild, and what it costs, before you commit.
Do you need access to our servers?
For analysis and upgrades, yes. We agree the access level with you, use named accounts you can revoke, and never ask for credentials by email or through this form. For rebuilds we can work in a copy of your repository and hand over the result.
How fast can you start?
Book a triage call. If you're actively exposed, we'll go through the interim mitigations with you on that first call.
Will the work cause downtime?
We plan every production change with you. Most upgrades are staged so the switchover takes seconds, and every change has a tested rollback.
Get a quote
Book your free triage call
Tell us a little about your setup. An engineer, not a salesperson, will reply with next steps and a fixed-scope proposal.
Free, no-obligation 30-minute call
Written quote before any work starts
Help with interim mitigations if you're exposed right now