Security advisory 21 Oct 2026 Critical RCE vulnerabilities CVE-2026-109618 and CVE-2026-109619. Every build in the repository contains the fix, from PHP 5.5 to 8.4, including branches PHP itself no longer maintains. Details
Digital subscription · PHP software packages for Ubuntu 14.04 – 24.04 and Debian 10

Patched PHP for servers you can't rebuild.

Every PHP version from 5.5 to 8.4 as .deb packages from a signed repository for Ubuntu 14.04 to 24.04 and Debian 10. All builds contain the fixes for the critical RCE vulnerabilities of 21 October 2026, including the branches PHP itself no longer maintains. Plus current PHP 8.3 for Ubuntu 16.04, 18.04 and 20.04. One repository, one apt line, no migration.

Purely digital service: credentials by email within 24 hours, software download via apt. No hardware, nothing shipped. Billing via Paddle, invoice with VAT shown.

$ lsb_release -ds
Ubuntu 18.04.6 LTS

$ sudo apt install php8.3-fpm php8.3-cli
Reading package lists... Done
Setting up php8.3-cli (8.3.36-1~bionic) ...
Setting up php8.3-fpm (8.3.36-1~bionic) ...

$ php8.3 -v
PHP 8.3.36 (cli) (built: Oct 23 2026) (NTS)
1,276software packages (.deb) to download
7distributions
10PHP versions 5.5 to 8.4, all with the CVE fix
29source packages, amd64
26 Oct 2026builds with the current CVE fixes
< 24 hto activation
Security advisory of 21 October 2026

Two critical RCE vulnerabilities in PHP. For 8.1 and older, nobody ships a fix. This repository does.

On 21 October 2026 PHP disclosed two vulnerabilities that let unauthenticated requests execute code on the server. Every PHP installation serving web requests is affected: PHP-FPM, Apache with mod_php, php-cgi. PHP rates the risk highest for mod_php, because the attack lands before any application code runs.

PHP itself fixed only 8.2 to 8.5. If you run 8.1, 8.0, 7.x or 5.5, you get no fix from PHP and none from your distribution. In this repository all ten versions carry the fix for these two vulnerabilities.

CVE-2026-109618

Remote code execution via OOM corruption

Out-of-memory handling can interrupt PHP while internal request data is only partially initialised. Request cleanup then treats the invalid data as valid.

GHSA-w8hw-w9fx-j79w on GitHub
CVE-2026-109619

Remote code execution via stale global state

Request-owned internal state can survive after its backing memory has been freed. A later request handled by the same worker uses the stale state before normal initialisation resets it.

GHSA-6wmf-4rv5-p3rp on GitHub

Every version in the repository carries the fix for these two vulnerabilities. From 5.5.9 to 8.4.27, from Ubuntu 14.04 to 24.04.

For 8.2, 8.3 and 8.4 we ship the official fix releases 8.2.35, 8.3.36 and 8.4.27. For 8.1, 8.0, 7.4, 7.3, 7.2, 7.0 and 5.5, PHP no longer publishes updates. We patched those branches ourselves: the same two fixes, backported and rebuilt.

All builds date from 21 to 26 October 2026, the days right after the advisory, each including libapache2-mod-php, the path with the highest risk.

Important: for 8.1 and older this is an emergency patch. It closes exactly these two holes, nothing more. All other vulnerabilities disclosed in these branches since PHP stopped maintaining them remain, just as in the packages you run today. Apart from the two CVE fixes, these builds match the last upstream release. If you want to move to a branch PHP still maintains, 8.2, 8.3 and 8.4 are in the same repository.
Unlock the fixed builds
DistributionFixed versions in the repository
Ubuntu 24.048.4.278.3.36
Ubuntu 22.048.4.278.3.368.1.348.0.30
Ubuntu 20.048.3.368.2.358.1.348.0.307.4.33
Ubuntu 18.048.3.368.2.358.1.348.0.307.4.337.3.337.2.34
Ubuntu 16.048.3.368.1.348.0.307.4.337.3.337.2.347.0.33
Debian 108.3.368.0.307.4.33
Ubuntu 14.045.5.9
8.2 to 8.4 official fix release from PHP 8.1 and older emergency patch by patchdeb, these two CVEs only
Independently verified

Not vulnerable. Confirmed by independent scans.

On 26 October 2026 we had several production servers running packages from this repository scanned from the outside with the PHP2Shell scanner by Pentest-Tools.com. The scanner tests specifically for CVE-2026-109618 and CVE-2026-109619, which became known as PHP2Shell.

Result of every scan: “Target is not vulnerable to PHP2Shell.” No findings at the Critical, High, Medium or Low levels. The card on the right shows one of these scans.

PHP2Shell scanner · Pentest-Tools.com · sample reportFinished
Target is not vulnerable to PHP2Shell.
0Critical
0High
0Medium
0Low
26 Oct 2026, 10:073 tests31 s

Source: php.net, security advisory of 21 October 2026.

The legacy dilemma

The operating system stays. The demands on PHP don't.

Every administrator knows at least one server that must not be touched. The distribution there ships PHP in a version that has not seen a release in years.

01 / UPGRADE

The OS upgrade is not an option.

Old customer projects, control panels, custom-built modules, compliance freezes. A dist-upgrade on a production 16.04 or 18.04 is a project, not a maintenance window.

02 / TOOLCHAIN

The framework wants PHP 8.

Laravel, Symfony, WordPress plugins, Composer dependencies: at some point the toolchain demands a PHP version your distribution will never get.

03 / EOL

The distribution's PHP is at the end of the road.

Ubuntu 14.04 ships PHP 5.5, 16.04 ships 7.0, 18.04 ships 7.2, Debian 10 ships 7.3. Building it yourself means maintaining a build environment, resolving dependencies, and starting over with every release.

patchdeb decouples PHP from the operating system. You add one repository and install the PHP version your application needs. The system underneath stays as it is.

How it works

From order to the first apt install in three steps.

Choose a plan and order

Up to 100, 300 or 1,000 servers, as an annual subscription. Checkout runs through Paddle. You receive an invoice with VAT shown.

Access within 24 hours

You receive your repository credentials and the public repository key. Within 24 hours of ordering at the latest, usually much sooner.

Add the repository, install

One line in sources.list, drop in the key, apt install. All via the normal apt path your automation already knows.

Package overview

Which PHP version for which distribution.

All packages are built for amd64 and named by Debian convention; the repository's package index is GPG-signed. Every PHP version ships CLI, FPM, the Apache module and the matching extension packages.

SuiteSystemPHP versionsBinary packages
nobleUbuntu 24.048.4.278.3.3687
jammyUbuntu 22.048.4.278.3.368.1.348.0.30175
focalUbuntu 20.048.3.368.2.358.1.348.0.307.4.33222
bionicUbuntu 18.048.3.368.2.358.1.348.0.307.4.337.3.337.2.34314
xenialUbuntu 16.048.3.368.1.348.0.307.4.337.3.337.2.347.0.33314
busterDebian 108.3.368.0.307.4.33134
trustyUbuntu 14.045.5.9 php5-*, mod_php30
8.2 to 8.4 maintained by PHP, fixes for CVE-2026-109618 and CVE-2026-109619 in the official release 8.1 and older no longer maintained by PHP, last upstream release plus emergency patch for exactly these two CVEs

Apache module libapache2-mod-php

Suitemod_php available for
noble8.48.3
jammy8.48.38.18.0
focal8.38.28.18.07.4
bionic8.38.28.18.07.47.37.2
xenial8.38.18.07.47.37.27.0
buster8.38.07.4
trustyphp5 (5.5.9) additionally php5filter
Side by side. Versioned package names such as php8.3-fpm and php7.4-fpm install next to each other. Switch per FPM pool or with update-alternatives.
Signed index. The package indexes (Release files) are signed with the repository key. On every apt update, apt verifies the index and the SHA256 checksum of every package, just as with the distribution's own packages. The individual .deb files carry no signature of their own.
As of 26 Oct 2026. The builds date from 21 to 26 October 2026. You buy access to exactly this state. Further builds or updates are not part of the subscription.
Pricing

Three plans. All distributions, all PHP versions.

You pay for access to the repository, tiered by the number of your servers. Not by PHP version, not by distribution. Every plan is a digital annual subscription: you receive credentials for a software repository and use it on your own servers. No hardware, no physical delivery.

Credentials by emailCustomer identifier and access token for the repository, within 24 hours of ordering.
Repository keyPublic GPG key that apt uses to verify the package index.
Download access to 1,276 packagesPHP 5.5 to 8.4 as .deb files for 7 distributions, as of 26 Oct 2026.
12-month termUse on as many of your own servers as the plan allows. Nothing is shipped.
Access for up to 100 servers
For agencies, hosters and IT departments with a manageable estate.
€1,000 / year
€10 per server per year
  • Use on up to 100 of your own servers
  • All 7 distributions, all 10 PHP versions
  • All 1,276 packages, as of 26 Oct 2026
  • Access within 24 hours
  • Annual subscription, invoice with VAT shown
Get access · up to 100 servers
Access for up to 300 servers
For growing hosters and service providers with several customer environments.
€2,000 / year
€6.67 per server per year
  • Use on up to 300 of your own servers
  • All 7 distributions, all 10 PHP versions
  • All 1,276 packages, as of 26 Oct 2026
  • Access within 24 hours
  • Annual subscription, invoice with VAT shown
Get access · up to 300 servers

All prices exclude VAT. Payment processing and invoicing by Paddle.com as merchant of record. With a valid VAT ID, EU customers are billed under the reverse-charge procedure.

You purchase access to the repository in its current state, not the software and no entitlement to further builds or updates. PHP is open source and licensed under the PHP License.

More than 1,000 servers? Write to us and we'll make you an offer.

Setup

Three commands. Then it's an ordinary apt repository.

No agents, no extra software. The credentials live in apt's own auth.conf, the key in the keyring. Ansible, Puppet or a shell script roll that out to the whole fleet in minutes.

  • Ubuntu 16.04 and older: /etc/apt/auth.conf instead of auth.conf.d/.
  • Ubuntu 14.04: import the key with apt-key add, as apt 1.0 does not know signed-by.
  • The suite is your distribution's codename: trusty, xenial, bionic, focal, jammy, noble or buster.
# 1. Install the repository key
curl -fsSL https://repo.patchdeb.de/patchdeb.gpg \
  | sudo tee /usr/share/keyrings/patchdeb.gpg >/dev/null

# 2. apt credentials (from your activation email)
printf 'machine repo.patchdeb.de login CUSTOMER password TOKEN\n' \
  | sudo tee /etc/apt/auth.conf.d/patchdeb.conf >/dev/null
sudo chmod 600 /etc/apt/auth.conf.d/patchdeb.conf

# 3. Add the repository, example Ubuntu 18.04 "bionic"
echo "deb [signed-by=/usr/share/keyrings/patchdeb.gpg] \
  https://repo.patchdeb.de/ bionic main" \
  | sudo tee /etc/apt/sources.list.d/patchdeb.list

sudo apt update
sudo apt install php8.3-fpm php8.3-cli
Frequently asked questions

What you should know before ordering.

What exactly am I buying?

A purely digital product: access to our APT repository for the term of your subscription, in its current state: 1,276 packages in the signed repository, built between 21 and 26 October 2026, including the emergency patch for the two RCE vulnerabilities in the branches PHP itself no longer maintains. Nothing more and nothing less. Further builds or updates are not part of the subscription. The software itself is not sold: PHP is open source and licensed under the PHP License.

Is this a physical product? Is anything shipped?

No. patchdeb is a digital subscription. You receive credentials and the repository key by email; apt downloads the software packages over the internet onto your own servers. There is no hardware, no media and no shipping. The servers you install the packages on are yours and are not provided by us.

Is patchdeb allowed to offer PHP packages at all?

Yes. PHP is open source and licensed under the PHP License, which expressly permits redistribution, including of modified builds. We build the packages ourselves from the official source packages, backport the two CVE fixes and sign the package index with our key. What is sold is access to our repository as a service, not the software.

Do the packages contain the fix for the RCE vulnerabilities of 21 October 2026?

Yes, in every version in the repository, from 5.5.9 to 8.4.27. For 8.2, 8.3 and 8.4 these are PHP's official fix releases. For 8.1 and older, for which PHP no longer publishes updates, we backported the two fixes and rebuilt the packages. All builds date from 21 to 26 October 2026 and each includes mod_php.

For 8.1 and older this is expressly an emergency patch: it closes exactly these two holes. Other vulnerabilities disclosed in these branches since their end of life remain, just as in the packages you run today. Apart from that, the builds match the last upstream release.

We had the fix verified from the outside: scans with the PHP2Shell scanner by Pentest-Tools.com on 26 October 2026 report “not vulnerable” for several servers running packages from this repository, with no findings at any level.

What counts as a server?

A host that uses the repository, physical or virtual. How many PHP versions you install on that host does not matter.

How quickly will I get access?

Within 24 hours of ordering you receive your credentials and the public repository key by email.

Which architecture are the packages built for?

amd64. That covers practically every server running Ubuntu 14.04 to 24.04 or Debian 10 in production.

Can I run several PHP versions side by side?

Yes. The packages follow the Debian convention of versioned names such as php8.3-fpm and php7.4-fpm. They run next to each other; you choose the version per vhost or FPM pool. That is the usual way to migrate an application step by step.

Do I get updates or new builds?

No, we do not promise that. The subscription covers access to the repository as of 26 October 2026, with all 1,276 packages and the emergency patches for the two RCE vulnerabilities. Further builds, new PHP releases or updates to existing packages are not part of the subscription and are not promised.

How does billing work?

Through Paddle.com as merchant of record. You pay by credit card, PayPal or one of the other payment methods Paddle offers and receive an invoice with VAT shown. With a valid VAT ID, EU customers are billed under the reverse-charge procedure.

How long does the subscription run, and how do I cancel?

The subscription runs for one year and renews for another year unless you cancel. You can cancel at any time with effect from the end of the term, through the Paddle customer portal or by email to us.

Is there a German version of this page?

Yes, at patchdeb.de. Repository, packages and prices are identical.

Get started

Your Ubuntu 16.04 keeps running. With patched PHP 8.3.

Order today, add the repository tomorrow and close the holes on every server with one apt upgrade. Questions beforehand? Email us.