OpenAI. (2026). Cyberspace-Visualisierung zum Thema PHP2Shell [Bild generiert mit DALL-E 3 / Nano Banana]. Verfügbar über ChatGPT.

PHP2Shell Security Problem unter Ubuntu 26.04 beheben

Am gestrigen Tag hat es leider einen ziemlichen Donnerschlag in Sachen IT-Sicherheit bei Webservern gegeben. Nahezu alle Webserver, die PHP als Programmiersprache für Webseiten nutzen, waren kompromittierbar. Das BSI hatte dazu – wie viele andere auch – eine Meldung herausgegeben und entsprechende Versionshinweise zur Behebung. Wer einen kleinen, weniger exponierten Webserver daheim unter Ubuntu betreibt, steht vor dem gleichen Problem. Der Server ist vielleicht durch Hacker nicht so schnell auffindbar, das ändert aber am Problem nichts. Ubuntu gibt für die LTS-Versionen aber nicht immer sofort Aktualisierungspakete heraus. Um ganz sicher zu gehen, dass man wirklich eine aktuelle und gepatchte Version von PHP nutzt, empfehle ich direkt die Quellen des Paket Maintainers Ondřej Surý für Debian im modernen DEB822-Format (.sources-Datei) zu nutzen.

Den PHP-Paketserver von Ondřej Surý mit einer DEB822-Datei einrichten

Den Schlüssel apt.gpg als Keyring unter /usr/share/keyrings/ speichern:


sudo apt update
sudo apt install -y ca-certificates curl
sudo curl -fsSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg

Die Datei wird direkt im passenden Keyring-Verzeichnis abgelegt. Da apt.gpg bereits im binären OpenPGP-Format vorliegt, ist kein zusätzlicher gpg –dearmor-Schritt nötig.

DEB822-Paketquelle anlegen

Wir erstellen die  /etc/apt/sources.list.d/php.sources mit folgendem Befehl. Hinweis zur Architektur: Diese Variante erlaubt sowohl amd64 als auch arm64. Wir nutzen aber nur die, die wir wirklich benötigen. In meinem Fall würde ich nur amd64 hinter architectures stehen lassen. Daher den Text bitte nicht einfach nur copy-pasten, sondern anpassen an Deine System-Architektur!

sudo tee /etc/apt/sources.list.d/php.sources > /dev/null <<'EOF'
Types: deb
URIs: https://packages.sury.org/php/
Suites: resolute
Components: main
Architectures: amd64 arm64
Signed-By: /usr/share/keyrings/deb.sury.org-php.gpg
EOF

Paketlisten aktualisieren und Quelle prüfen

Zunächst mal ein Update:

sudo apt update

Wenn das unfallfrei durchgelaufen ist, kann es weiter gehen.
sudo apt-cache policy php8.4

liefert bei mir nun:
php8.4:
Installiert: (keine)
Installationskandidat: 8.4.27-1+0~20261021.57+ubuntu26.04~1.gbp7636b9
Versionstabelle:
8.4.27-1+0~20261021.57+ubuntu26.04~1.gbp7636b9 500
500 https://packages.sury.org/php resolute/main amd64 Packages

also upgrade fahren:

sudo apt upgrade -y

Wenn dies durchgelaufen ist, sollte eine aktuelle und gepatchte Version auf der Maschine installiert sein:

php -version
PHP 8.5.12 (cli) (built: Oct 21 2026 08:07:33) (NTS)
Copyright (c) The PHP Group
Built by Ubuntu
Zend Engine v4.5.12, Copyright (c) Zend Technologies
with Zend OPcache v8.5.12, Copyright (c), by Zend Technologies