(Minghui.org) In der vergangenen Woche wurden schwerwiegende Sicherheitslücken in den Laufzeitumgebungen von PHP, Node.js und Go gemeldet. Administratoren, die Server mit diesen Technologien betreiben, darunter auch beliebte Content-Management-Systeme wie WordPress, müssen Maßnahmen ergreifen, um ihre Dienste vor möglichen Angriffen auf diese Schwachstellen zu schützen.

Seit dem 21. Oktober haben globale Cybersicherheitsbehörden sowie offizielle Kanäle für PHP und Node.js kritische Sicherheitsmeldungen zu Schwachstellen veröffentlicht, die es unbefugten Angreifern ermöglichen, Remote-Code-Ausführung (RCE) zu erreichen oder einen Denial-of-Service-Angriff (DoS) auszulösen.

Da die Schwachstellen in der Laufzeitumgebung der Sprache oder in integrierten Bibliotheken liegen, reicht eine einfache Aktualisierung von Frontend-Anwendungen wie WordPress-Plugins oder npm-Paketen nicht aus, um einen Server zu schützen, sondern die Laufzeitumgebung der Sprache selbst muss aktualisiert werden.

Sicherheitslücken in wichtigen Technologie-Stacks

1) PHP (Sicherheitslücke „PHP2Shell“)

– Sicherheitslücken zur Remote-Code-Ausführung: CVE-2026-109618, CVE-2026-109619 (CVSS-Score 9,2, kritisches Risiko)

– Zusammenfassung: Es bestehen Schwachstellen in der zugrunde liegenden Speicherverwaltung und der Behandlung des globalen Zustandes. Wenn ein Out-of-Memory-Fehler (OOM) ausgelöst wird, kann dies zu ungültigem Speicherinhalt oder zur Verarbeitung eines veralteten Zustandes durch eine spätere Anfrage führen, die vom selben Worker bearbeitet wird.

Auswirkungsbereich: Alle nicht gepatchten PHP-Websites und -Server. Angreifer können Angriffe ohne Anmeldedaten oder Berechtigungen starten.

2) Node.js

– Zu den Sicherheitslücken im Brotli-Decoder und im Netzwerk gehören CVE-2026-111497 (Schreiben außerhalb des zulässigen Speicherbereichs bei Brotli) sowie mehrere TLS-/DNS-Authentifizierungslücken.

– Zusammenfassung: Der integrierte Decoder für Brotli-komprimierte Daten schreibt fälschlicherweise außerhalb des zulässigen Speicherbereichs. Zudem besteht das Risiko, dass die Überprüfung von Anmeldedaten und Hostnamen umgangen werden kann.

Auswirkungsbereich: Verarbeitung nicht vertrauenswürdiger, mit Brotli komprimierter Daten, externe Netzwerkverbindungen und Node.js-Dienste für Proxy-Server.

3) Programmiersprache Go und zugehörige Frameworks

– Für relevante Netzwerkprotokolle, Standardbibliotheken und gängige Open-Source-Frameworks wie z. B. HTTP-Proxys und Netzwerkmanagement-Schnittstellen wurden Sicherheitspatches veröffentlicht.

Auswirkungsbereich: Cloud-native Dienste, die bestimmte Versionen von Go-Modulen verwenden oder davon abhängig sind.

Dringende Maßnahmen für Serveradministratoren

Herkömmliche Überprüfungen der package dependency checks / Paketabhängigkeiten (wie Scans von „package.json“ oder „composer.json“) können Schwachstellen in der Laufzeitumgebung nicht erkennen. Es ist erforderlich, die auf dem Server und/oder in Containern ausgeführte Laufzeitversion zu überprüfen.

Ältere Versionen von Sprachlaufzeiten, deren Lebenszyklus beendet ist (wie PHP unter Version 8.2 oder Node.js unter Version 20), erhalten keine offiziellen Patches. Anwendungen, die auf diesen nicht mehr unterstützten Versionen laufen, müssen entweder auf eine unterstützte, gepatchte Version aktualisiert oder vom Internet isoliert werden.

Wenn die Ressourcen begrenzt sind, können Serveradministratoren die folgenden Schritte nacheinander ausführen:

1) Quick Asset Inventory / Schnelle Bestandsaufnahme (Versionsprüfung)

Melden Sie sich bei jedem Server oder Container an und überprüfen Sie, ob die Version der Sprach-Laufzeitumgebung betroffen ist.

– Überprüfen Sie bei PHP, ob die ausgeführte Version älter ist als die gepatchte Version (siehe Liste unten). Hinweis: Einige Linux-Distributionen portieren Patches rückwärts, sodass Versionen älter als 8.2 möglicherweise weiterhin Patches erhalten. Überprüfen Sie die offiziellen Ankündigungen oder Paketprotokolle Ihrer Distribution.

– Bei Node.js prüfen Sie, ob Sie eine betroffene Version der Serien 22.x, 24.x oder 26.x verwenden.

2) Sofortiges Upgrade auf eine gepatchte Version

Führen Sie ein Upgrade Ihrer Umgebung auf die unten angegebene gepatchte Version durch und starten Sie den Dienst (z. B. PHP-FPM oder die Node-Anwendung) neu, um verbleibenden Speicher zu löschen:

– Gepatchte PHP-Versionen:

PHP 8.5-Serie: Aktualisieren Sie auf 8.5.12 (oder höher)PHP 8.4-Serie: Aktualisieren Sie auf 8.4.27 (oder höher)PHP 8.3-Serie: Aktualisieren Sie auf 8.3.36 (oder höher)PHP 8.2-Serie: Aktualisieren Sie auf 8.2.35 (oder höher)

– Gepatchte Node.js-Versionen:

Node.js 22.x: Aktualisieren Sie auf 22.23.4 (oder höher).Node.js 24.x: Aktualisieren Sie auf 24.22.1 (oder höher).Node.js 26.x: Aktualisieren Sie auf 26.12.1 (oder höher).

Hinweis: Der Support für Node.js 20 und frühere Versionen wurde eingestellt. Sie müssen so bald wie möglich auf eine unterstützte Version aktualisieren.

3) Container und Images neu erstellen

Wenn Sie Docker oder andere cloudnative Container verwenden, reicht es nicht aus, lediglich das Tag zu ändern. Das Image muss neu erstellt werden, um sicherzustellen, dass die zugrunde liegende Laufzeitumgebung aktualisiert und der Dienst neu bereitgestellt wird.

Überprüfen Sie Ihre Frontend-Webanwendungs-Firewall (WAF) oder Ihren Load Balancer, um sicherzustellen, dass Schutzregeln gegen ungewöhnlichen POST-Datenverkehr und bösartige komprimierte Pakete aktiviert sind.

Das Obige ist nur ein Überblick. In konkreten Fällen muss das technische Personal Risiken auf der Grundlage der jeweiligen Umgebungen dringend identifizieren und beseitigen, um die Informationssicherheit zu gewährleisten.