Critical PHP security update (October 2026)#
On October 21, 2026, the PHP project released PHP 8.5.12, 8.4.27, 8.3.36 and 8.2.35. These versions fix two critical vulnerabilities (CVE-2026-109618 and CVE-2026-109619, both CVSS v4.0 9.2) that allow unauthenticated attackers to execute code remotely.
Act now
Since i-doit runs on PHP, all i-doit installations are affected. The vulnerability is in PHP, not in i-doit — no i-doit update is required. Update PHP as soon as your distribution provides the packages.
What is affected?#
| Vulnerability | Cause | Details |
|---|---|---|
| CVE-2026-109618 | Remote code execution via out-of-memory handling | GHSA-w8hw-w9fx-j79w |
| CVE-2026-109619 | Remote code execution via stale state in the PHP worker | GHSA-6wmf-4rv5-p3rp |
Every PHP installation that serves web requests is affected: PHP-FPM, Apache with mod_php, php-cgi, FrankenPHP and LiteSpeed. The PHP project considers the risk highest for mod_php, where an attack has been demonstrated that works before any application code runs.
Supported i-doit installations run on PHP 8.2–8.4. All of these branches receive a fix.
What you need to do#
On-premises (Linux)#
The Linux distributions received the patches in advance and ship their own packages. Use your distribution's packages:
- Back up first: snapshot of the VM, or a backup of the i-doit directory, the database and the PHP configuration.
-
Install the PHP update via the package manager and restart the services. PHP-FPM and Apache only load the new packages after a restart.
Distribution Update Restart services Debian 13 (packages since 2026-10-21, 13:45 UTC, detailed guide) sudo apt update && sudo apt upgradesudo systemctl restart apache2 php8.4-fpmUbuntu 24.04 (packages since 2026-10-21, approx. 14:05 UTC, detailed guide) sudo apt update && sudo apt upgradesudo systemctl restart apache2 php8.3-fpmRHEL 10 / Rocky / Alma sudo dnf update 'php*'sudo systemctl restart httpd php-fpmSLES 15 SP6 sudo zypper refresh && sudo zypper patchsudo systemctl restart apache2 php-fpmWith mod_php instead of PHP-FPM, restarting the web server is enough.
-
Check that the fix is installed (see below).
- Test i-doit: log in, open and save an object, open the Admin Center.
The version number does not always show the fix
Debian ships the new PHP version, so php -v shows 8.4.27 afterwards. Ubuntu, Red Hat and SUSE instead build the fix into their existing PHP version (backport). There, php -v still shows e.g. 8.3.6, not 8.3.36. You can tell whether the fix is installed by the CVE number in the package changelog or in your distribution's security tracker:
- Debian:
zgrep CVE-2026-10961 /usr/share/doc/php8.4-cli/changelog.Debian.gzor Debian Security Tracker - Ubuntu:
zgrep CVE-2026-10961 /usr/share/doc/php8.3-cli/changelog.Debian.gzor Ubuntu CVE page - RHEL/Rocky/Alma:
dnf updateinfo info --cve CVE-2026-109618 - SLES/openSUSE:
zypper lp --cve=CVE-2026-109618or SUSE CVE page
PHP from the Remi repository
If you installed PHP from rpms.remirepo.net: according to the PHP project, this repository will not receive updates on October 21. Switch to your distribution's packages.
For details on switching to a different PHP version, see PHP update and System requirements.
On-premises (Windows)#
The PHP project also provides the new versions as Windows binaries. Replace PHP as described in Update PHP and MariaDB on Windows.
PHP 8.1 or older#
The PHP project no longer provides updates for these versions. Some distributions and LTS vendors provide backported fixes, for example Ubuntu 22.04 LTS for PHP 8.1 (package 8.1.2-1ubuntu2.28, USN-8948-1). Ask your vendor, or upgrade your installation to a supported version (8.2–8.4). PHP 8.2 receives security updates until December 31, 2026.
If you cannot update immediately#
According to the PHP project, there is no complete mitigation; only the update closes the vulnerabilities. Until then, these steps reduce the risk:
- Set
session.upload_progress.enabled = 0inphp.inior in the FPM pool and restart all PHP workers. This blocks the confirmed attack paths for CVE-2026-109619.ini_set()or.user.iniare not sufficient. - Make the i-doit server reachable only from the internal network or via VPN.
The other measures from the PHP announcement, such as memory_limit=-1 or a very small post_max_size, are not practical for i-doit.
i-doit appliance and Docker images#
We provide updated versions of both with the patched PHP version. If you use the appliance, you can install the update via the package manager as described above. For Docker, pull the updated image as soon as it is published.
i-doit Cloud#
If you use our cloud, you do not need to do anything — we update your environment ourselves.