October 2026: what the PHP security releases fix
On 20 October 2026 the PHP project announced on php.net a security release for the following day, covering two critical vulnerabilities, both rated 9.2 under CVSS v4.0. On 21 October PHP 8.5.12, 8.4.27, 8.3.36 and 8.2.35 were published, pure security releases without new features. They fix CVE-2026-109618 and CVE-2026-109619, two bugs in the core of the PHP runtime. One concerns how PHP handles running out of memory during a request, the other internal state that can be left over after a request in the same process. In both cases, under certain conditions, this can lead to foreign code running with the privileges of the web server process. Neither a login nor any action by a user is needed; the rating classes the attack complexity as high.
According to the php.net security notice, every PHP installation that serves web requests is affected, whether through PHP-FPM, Apache mod_php, php-cgi, FrankenPHP or LiteSpeed; the risk is highest with mod_php. All releases below the versions named are vulnerable, so 8.2 before 8.2.35, 8.3 before 8.3.36, 8.4 before 8.4.27 and 8.5 before 8.5.12. The PHP project states that there are no complete mitigations and that updating is the only safe choice. The interim settings it lists reduce the risk only in part and explicitly do not make an installation safe. The pre-release PHP 8.6.0 RC4 contains the fixes as well; for production use, 8.6 is not yet an option.
As for the timeline: Amazon Threat Intelligence observed a first exploitation attempt as early as 17 October, four days before publication; whether any attempts succeeded, the report left open. Germany’s Federal Office for Information Security (BSI) published cyber security warning 2026-297981-1032 and advises applying the patches without delay. On 26 October the US agency CISA added both vulnerabilities to its catalogue of known exploited vulnerabilities. On its situation page the BSI reports attack attempts in the tens of millions, but so far no large-scale exploitation in Germany and no successful attacks with data leaving the systems. That is the sober picture: a serious, well-documented risk with a clear answer. If you are on a patched version, this item is done. If you do not know, now is the time to check.
Support status: which PHP versions still get security fixes
The PHP project supports each version actively for two years with bug and security fixes, followed by two more years of critical security fixes only, as needed. As of the end of October 2026 that means: PHP 8.5 and 8.4 are in active support — 8.4 actively until the end of 2026 and with security fixes until 31 December 2028, 8.5 actively until the end of 2027 and with security fixes until 31 December 2029. PHP 8.3 now receives security fixes only, until 31 December 2027. PHP 8.2 receives security fixes only until 31 December 2026; from 1 January 2027 the PHP project will provide none. PHP 8.1 reached its end of life on 31 December 2025, 8.0 in November 2023 and 7.4 in November 2022.
For the older lines, October is an exception: because of the severity of the flaws, the PHP security team provided minimal source-code fixes for 7.4, 8.0 and 8.1 — for operators who compile PHP themselves. Ready-made packages are only available through Linux distributions or long-term support vendors; Ubuntu, for example, also shipped an update for 22.04 with PHP 8.1, and for older LTS releases via ESM. Nobody should count on this exception being repeated. A shop or CMS on PHP 8.1 or older runs without support from the PHP project, and the next flaw may hit it without a fix. For systems like these, the task is not the next package update but the change of version.
What this means for the major systems: Shopware 6.7 requires PHP 8.2 or newer and recommends 8.4. TYPO3 v14 and v13 LTS run on PHP 8.2 to 8.5. WordPress recommends PHP 8.3 or newer; it still runs from 7.4, but that version is out of support. With Magento Open Source and Adobe Commerce, the PHP version depends on the Magento version: 2.4.9 only with PHP 8.5, 2.4.8 with 8.4 or 8.3, 2.4.7 with 8.3 or 8.2, 2.4.6 with 8.2 or 8.1. A minimum version is not a recommendation for operation. Anyone running PHP 8.2 today because the system allows it will be without security fixes in two months — and should plan the move to 8.3, 8.4 or 8.5 now, not in December.
Checking the patch level and updating PHP — with shop, CMS and extensions
The first step is an inventory, not a guess. Which PHP version runs for the web, which on the command line, which in cron jobs and workers? Where does PHP come from: the distribution’s packages, a third-party repository, a container image or a hosting provider’s offering? One point matters here: distributions often keep their old version number and are patched nonetheless. Ubuntu 24.04 still ships PHP as 8.3.6; the fix is in package release 8.3.6-0ubuntu0.24.04.13. Debian 12 provided php8.2 8.2.35-1~deb12u1, Debian 13 php8.4 8.4.27-1~deb13u1. The patch level is therefore read from the package, not from the PHP version number. In Docker environments this includes rebuilding the images and actually restarting the containers.
If only a package update within the same PHP line is due, that is usually a maintenance window: apply it, restart PHP-FPM or the web server, check that the new release is actually being served. Changing the line, for instance from 8.2 to 8.4, is a different matter. Then every component has to come along: Shopware plugins and apps, Magento modules, TYPO3 extensions, WordPress and WooCommerce plugins and themes, plus custom extensions and Composer dependencies. With Magento, the change may require an update of Magento itself, because each version supports only certain PHP lines. We check this beforehand against the vendors’ system requirements and the information for each extension, and we test on a staging system with a copy of the live data before switching live operation over.
For web applications and custom software on PHP, Symfony or Laminas, the same principle applies with different tools. We read composer.json and composer.lock, check the dependencies for known vulnerabilities and for support of the target PHP version, and look through the code for outdated language constructs or removed functions. Automated tests help here; where there are none, we write some for the most important processes before the version changes. Tools alongside the shop are part of this too: the makers of Matomo point out explicitly that a Matomo update does not fix the PHP flaws. The result is a plan with an order of steps and the effort for each, not a gut feeling.
Hardening: server, web server, PHP configuration, permissions
A patched PHP closes this flaw, not the next one. Hardening reduces the attack surface so that a future vulnerability has less to hit. At server level that means: a current operating system, only the services that are needed, administrative access by key and not reachable for everyone. The web server delivers only what is meant to be public; configuration files, backup copies and version control sit outside the web root or are blocked. PHP runs with a configuration that suits the system: no error output to visitors, limits on execution time, uploads and request size as required, and no PHP extensions that nobody uses. Each application gets its own process and user, so that a fault in one system does not reach the next.
Permissions decide how far a fault can reach. The web server process may write where the application has to write — cache, uploads, logs — and nowhere else. Database users have only the rights of their application, interfaces their own narrowly scoped credentials. Administrative logins in the shop and CMS back end get a second factor, and orphaned accounts are removed. Add to that updates at fixed intervals for operating system, PHP, database, shop or CMS core and extensions, tested and with a way back. Backups are kept separate from the production system, in several versions, and restores are rehearsed. Monitoring reports outages, unusual error rates and unexpected changes to files before customers do.
A web application firewall can sit in front of the server, with us usually Cloudflare. It filters known attack patterns, slows down automated traffic, protects admin areas and logins and absorbs mass traffic before it reaches the server. For Shopware and TYPO3, separate pages describe how cache rules, exceptions for payment providers and interfaces and the shielding of the server fit together. A WAF is an additional line of defence, not a substitute for patches: the PHP project has named no complete mitigation for the flaws in the PHP runtime, and a firewall rule can only catch what it recognises as a pattern. The order therefore stays the same: patched versions first, then hardening, then the firewall in front.
Incidents, ongoing protection and operation on our own servers
If there are signs that a system has already been compromised — unfamiliar redirects, unknown files or accounts, spam being sent, a block by the host — an update alone is no longer the answer. What counts then is the order: secure, understand, restore, close. Our page on emergency help for hacked websites describes how we go about it. For the October flaws there is one more point: an attack would run with the privileges of the web server process. That is why, for systems that were reachable unpatched during the period in question, we examine access logs, files and accounts specifically rather than just applying the patch afterwards. If personal data may be affected, we supply the technical basis for assessing the notification duty under Article 33 GDPR; the legal assessment remains with you.
With us, ongoing protection is part of operation and maintenance under a service level agreement. The BASIC, STANDARD and ADVANCED tiers stand for 24, 8 or 4 hours’ response time, each booked for a year. We bill the work by effort or within the agreed scope of hours; the hourly rate is tiered by time — weekdays within working hours, weekdays outside them, weekends and public holidays. On-call cover outside business hours is available only with an SLA. Without an agreement we deal with requests within 48 hours during our business hours of Mon–Thu 9:00–16:00, Fri 9:00–13:00 (CET). With an SLA, a security release like October’s is no longer a question of who feels responsible, but a scheduled appointment.
You have the most control when the system runs on our own servers: Proxmox VE clusters in the Hetzner data centre in Falkenstein, Germany, with Docker, monitoring, backups and staging. The patch level of operating system and PHP is then in our hands, and nobody has to ask a host first which packages are installed. We run shops such as the B2B shop of M&S Armaturen on these servers. If your system runs with another provider, we check the patch level there, implement what the environment allows and say clearly where it does not. Sharpness has existed since 1999, with more than 250 projects since then and IT liability insurance in place. The domain is always registered in your name, and the code sits in a Git repository that belongs to you.