Fortinet: PHP2Shell core RCE vulnerability patches (CVE-2026-109618 and CVE-2026-109619)
Description
CVE-2026-109618: PHP uses longjmp() for out-of-memory (OOM) errors to exit the current context and abort handling of the request. Some contexts may not properly account for this scenario and leave request memory in an uninitialized state before performing an allocation. The subsequent request cleanup procedure may read or branch on this memory. Multiple OOM strategies can consistently trigger this condition and lead to remote code execution (RCE).
CVE-2026-109619: PHP has various global state that temporarily points into request memory. In some scenarios, global state may not be correctly reset, or may be repopulated after being reset. The global state may then refer to request memory even after it has been freed. Subsequent requests may read or branch on this stale state before it is fully initialized. Multiple strategies can trigger this condition and produce remote code execution (RCE). Revised on 2026-10-28 00:00:00
What to do
Install the fixed versions listed in the official advisory. If you cannot update right away, apply the workarounds or mitigations it describes and limit access to the affected service.
Turn on Fortinet alerts
Details
- Vendor
- Fortinet
- Product
- PHP
- CVE
- CVE-2026-109618, CVE-2026-109619
- Affected versions
- PHP 8.2: from 8.2.* to 8.2.35 (excluded) — fixed in 8.2.35
PHP 8.3: from 8.3.* to 8.3.36 (excluded) — fixed in 8.3.36
PHP 8.4: from 8.4.* to 8.4.27 (excluded) — fixed in 8.4.27
PHP 8.5: from 8.5.* to 8.5.12 (excluded) — fixed in 8.5.12 (from the advisory and NVD; check the exact builds in the official advisory) - CVSS score
- 9.8
- Actively exploited
- Not known at this time
- Source
- Fortinet PSIRT – original advisory
- Published
- October 21, 2026
The description and the recommended action are quoted from the public advisory (the action is our generic advice); severity, exploitation status and affected versions are compiled automatically from public sources and may contain errors. The vendor's original advisory prevails: check it before taking action. This information is provided without warranty and does not replace a professional assessment.