Hi,
any news and suggestions on this topic?
PHP2Shell CVE-2026-109618 & CVE-2026-109619
Thanks!
Hi,
any news and suggestions on this topic?
PHP2Shell CVE-2026-109618 & CVE-2026-109619
Thanks!
Hello,
The update is now available. You can run the following commands to upgrade PHP to the latest version:
sudo apt update
dpkg -l | awk '$1 == "ii" && $2 ~ /^php8[.]2/ {print $2}' | xargs -r sudo apt install -y --only-upgrade --no-remove
Once the update is complete, verify the installed PHP version:
php -v
Please let me know if the update was successful or if you encounter any issues.,
Best regards,
Here are all the instructions:
what about debian 11 and centos ? is it only debian 12 issue?
We don’t provide support for CentOS. About Debian 11, there are mitigation settings, but we won’t provide a patch for that PHP version.
but, there are some sites on vitalpbx 3, vitalpbx 4.2. before 4.5…any hints for that sites?
You can do this to mitigate this security issue on your Debian 11 servers.
cat >/etc/php/8.1/fpm/conf.d/99-cve-mitigation.ini <<'EOF'
session.upload_progress.enabled = 0
memory_limit = -1
EOF
systemctl restart php8.1-fpm
memory_limit = -1 at the server/FPM level so applications cannot override it. This specifically mitigates the controllable out-of-memory path in CVE-2026-109618. PHP notes that it does not eliminate every possible allocation-failure path.session.upload_progress.enabled = 0, then restart all PHP workers. This mitigates the confirmed session-related exploitation path for CVE-2026-109619. PHP explicitly says not to rely on ini_set() because request parsing occurs before application code.Additionally, follow these instructions to safely limit total PHP memory usage on your server without constraining individual web requests.
mkdir -p /etc/systemd/system/php8.1-fpm.service.d
cat >/etc/systemd/system/php8.1-fpm.service.d/memory-cap.conf <<'EOF'
[Service]
MemoryAccounting=yes
MemoryMax=2G
OOMPolicy=continue
Restart=on-failure
RestartSec=5s
EOF
Sizing Tip: 2G is an example. Adjust MemoryMax to match your server’s capacity and peak traffic patterns (e.g., 4G, 8G), ensuring adequate RAM remains for MySQL/MariaDB, Apache, and system processes.
Reload the systemd daemon, test the PHP-FPM configuration for syntax errors, and restart the service:
systemctl daemon-reload
php-fpm8.1 -t && systemctl restart php8.1-fpm
Confirm that the operating system has applied the memory ceiling to the service:
systemctl show php8.1-fpm -p MemoryMax
The output should confirm MemoryMax=2147483648 (2 GB in bytes) or your chosen value.
Why this?
Setting memory_limit = -1 neutralizes the vulnerability by disabling PHP’s internal, exploitable out-of-memory bailout routines, but removing that internal safety rail leaves the host vulnerable to resource exhaustion; applying the 2 GB systemd cap acts as the replacement safeguard, moving enforcement to the operating system level so that all PHP worker processes combined cannot exceed a safe memory threshold and crash the entire server.
The PHP team considers these mitigations, not a full fix.