PHP2Shell, Node.js, Brotli-Decoder: Technische Hinweise für Systembetreibende
Stand: 28.10.2026, 17:30 Uhr
Hintergrund
- PHP: CVE-2026-109618 und CVE-2026-109619 („PHP2Shell“), Codeausführung ohne Anmeldung, betroffen PHP 5.4 bis 8.5.11. Öffentliche Exploits, BSI-Warnstufe 3 (Orange).
- PHP: CVE-2026-115560 (Vorankündigung zu bevorstehendem Sicherheitsupdate mit Konfigurationshinweis zur Mitigation)
- Node.js: Sicherheitsrelease vom 21.10.2026, zehn Lücken, davon vier mit hohem Schweregrad.
- Brotli-Decoder-Schwachstelle: CVE-2026-111497 („Broccoli2Shell“), Codeausführung ohne Anmeldung, öffentliche Exploits
PHP – Paketstand prüfen
Debian/Ubuntu: dpkg -l 'php*'
RHEL/Alma/Rocky: rpm -qa 'php*'
Gepatchte Pakete laut Distribution:
- Debian 12: php8.2 8.2.35-1~deb12u1 (DLA-4848-1)
- Debian 13: php8.4 8.4.27-1~deb13u1 (DSA-6574-1)
- Ubuntu 24.04: php8.3 8.3.6-0ubuntu0.24.04.13
- Ubuntu 22.04: php8.1 8.1.2-1ubuntu2.28 (USN-8948-1)
Neustart: sudo systemctl restart php8.4-fpm bzw. sudo systemctl restart apache2
Anwendungen (WordPress, TYPO3, Moodle usw.) ebenfalls aktualisieren.
Bitte beachten Sie auch den Mitigationshinweis für CVE-2026-115560:
Betroffen sind nur Anwendungen, die “session.serialize_handler” in der Konfiguration auf “php_binary” oder “php_serialize” setzen und ihn zur Laufzeit per “ini_set()” vor “session_start()” auf “php” umschalten, während Session-Upload-Progress aktiv ist.
Prüfen, ob der Serialize-Handler irgendwo zur Laufzeit umgeschaltet wird:
# Konfiguration: welcher Serialize-Handler ist gesetzt? (Standard: php)
grep -rn 'session.serialize_handler' /etc/php/ 2>/dev/null
# Anwendungscode: wird der Handler zur Laufzeit umgeschaltet? (Webroot anpassen)
grep -rnE "ini_set\(\s*['\"]session\.serialize_handler" /var/www 2>/dev/null
Deaktivieren Sie die Konfigurationsoption “session.upload_progress.enabled” vorübergehend, indem Sie den Wert auf “0” setzen - auch auf bereits gepatchten Systemen. Die Einstellung gehört in “php.ini”, den FPM-Pool oder die Server-Konfiguration, nicht in “ini_set()” oder “.user.ini”; danach alle Worker neu starten.
Lassen Sie diese Einstellung aktiviert, bis der nächste Bugfix-Release bereitgestellt wird.
Node.js
node -v (auch in Containern und bei nvm-Installationen)
Gepatcht: 22.23.4, 24.22.1, 26.12.1. Prozesse neu starten (systemd, pm2, Docker).
Container
docker build --pull --no-cache .
docker compose build --pull --no-cache
„--no-cache“ allein lädt kein neues Basis-Image. Registry-Images: docker compose pull && docker compose up -d
Kontrolle im laufenden Container: docker exec <container> php -v bzw. node -v
Brotli-Decoder-Schwachstelle - Aktualisierungen prüfen
Die Schwachstelle in libbrotli (Brotli), mit der CVE-2026-111497 betrifft neben Node.js viele weitere Applikationen und Bibliotheken. Brotli wird nicht nur als zentrales Paket im Betriebssystem (z. B. als libbrotli1) verwendet, sondern oftmals auch statisch oder dynamisch verknüpft in unzähligen Webanwendungen, Datenbanken und Entwicklungsumgebungen:
Betroffene Komponenten:
- Node.js: auf 22.23.4 / 24.22.1 / 26.12.1 aktualisieren oder neuer
- Python-Pakete: Brotli auf 1.2.1 aktualisieren; Brotlicffi auf 1.2.1.0 oder neuer
- C++-Pakete: google.brotli oder brotli auf 1.0.10 / 1.1.1 / 1.2.1 aktualisieren oder neuer
- Natives Google Brotli / libbrotli: auf 1.2.1 aktualisieren or neuer
- Weitere:
- Ruby, PHP, Go, Java, .NET, bun …
- Debian 12 und 13 (libbrotli1)
- Alpine (brotli-libs): edge, 3.24, 3.23
- Amazon Linux 2023 (brotli) Ubuntu (libbrotli1 and nodejs) -Fedora (libbrotli)
- Red Hat Enterprise Linux 8, 9 und 10
- SUSE
Nach einem Update auf Betriebssystemebene:
Alle Dienste (Webserver, Datenbanken, Applikationen) neu starten, die libbrotli nutzen. Andernfalls verbleibt die veraltete Version der Bibliothek im Arbeitsspeicher und das System bleibt angreifbar.
Einbruchsspuren – Mindestprüfung
find /var/www -type f -newermt 2026-10-21 -ls
Außerdem: unbekannte Prozesse, Cronjobs (crontab -l, /etc/cron*), neue Benutzerkonten, ungewöhnliche Einträge in den Webserver-Logs. Bei Verdacht: System nicht neu aufsetzen oder bereinigen, bevor wir gemeinsam gesichert haben; Meldung an it-sicherheit.its(at)uni-bamberg.de.
Quellen
- https://nodejs.org/en/blog/vulnerability/october-2026-security-releases
- https://www.php.net/
- https://www.php.net/archive/2026.php#2026-10-21-5
- https://www.php.net/archive/2026.php#2026-10-23-1
- https://www.cisa.gov/news-events/alerts/2026/10/21/critical-vulnerabilities-php-require-immediate-patching
- https://security-tracker.debian.org/tracker/source-package/php8.2
- Ubuntu USN-8948-1
- https://www.heise.de/news/php2shell-Kritische-Sicherheitsluecken-erlauben-Codeeinschleusung-in-PHP-11492938.html
- https://www.bsi.bund.de/SharedDocs/Cybersicherheitswarnungen/DE/2026/2026-297981-1032.pdf?__blob=publicationFile&v=5
- https://www.heise.de/news/Node-js-fixt-eigene-und-geerbte-Sicherheitsluecken-11495996.html
- https://www.heise.de/news/Brotli-Decoder-Luecke-nicht-nur-in-Node-js-sondern-auch-in-Bun-Python-und-mehr-11499975.html
- https://www.aikido.dev/blog/python-packages-vulnerable-node2shell-brotli-cve-2026-111497
- https://broccoli2shell.com/#check
- https://borncity.com/blog/2026/10/27/das-brotli-desaster-broccolie2shell-node-js-python-und-jetzt-net/