đ´ Critical PHP Security Update
The PHP team will release a security update on Oct 21, 2026 at 14:00 UTC, fixing 2 critical vulnerabilities (CVSS 9.2).
Please upgrade immediately once available.
â ī¸ Take a server snapshot backup before upgrading (via your cloud provider).
âšī¸ Patches are available for PHP 8.2 â 8.5 only. Please update to PHP 8.5.12, 8.4.27, 8.3.36, or 8.2.35.
đ How to update in aaPanel:
- Go to App Store
- Click Update App List (top-right) to refresh
- Find your PHP version and click Update
đĄ If you have multiple PHP versions installed, update each one.

â ī¸ If you're on older versions (8.1 or below), see the announcement below for mitigation.
Please manually restart PHP after changing the configuration

đ Announcement: https://www.php.net/archive/2026.php#2026-10-20-1
RCE via OOM corruption (CVE-2026-109618)
- Set
memory_limit=-1, preferably in a way applications can't override, such as php_admin_value in the FPM pool or Apache configuration, and check that no pool, directory or application setting puts a finite limit back. This removes the controllable PHP memory limit failure, but an underlying allocation failure can still reach the vulnerable path.
- Set a low
post_max_size. For applications that don't require file uploads, set post_max_size = 8M. If file uploads are necessary, set post_max_size = 32M. Keep upload_max_filesize below post_max_size. Consider enforcing limits at the web server or proxy level for decoded request size, input field count, multipart part count, header count, and nesting depth. These limits must also cover requests without a usable Content-Length.
- Use a container or cgroup limit as an availability boundary, preferably with a policy that kills only the affected worker. Do not substitute
RLIMIT_AS or RLIMIT_DATA, as these can cause the vulnerable allocation failure.
RCE via stale global state (CVE-2026-109619)
- Set
session.upload_progress.enabled=0 and restart every worker. Use php.ini, an FPM pool or server configuration that applies before request parsing. Do not rely on ini_set() or FPM .user.ini. This blocks the confirmed session paths but not other variants.
- On PHP 8.5, set
fatal_error_backtraces=0 and restart every worker. This blocks the confirmed fatal backtrace path only.
- Remove invalid or deprecated settings applied per request that emit diagnostics before initialization. Hiding diagnostics with
error_reporting, display_errors or @ does not help.
- Fix attacker-reachable fatal errors and execution timeouts, including failures in callbacks, upload or import processing and cleanup.