Alarmstufe Rot im Web: RCE-Doppelschlag in PHP erzwingt Notabschaltungen und weltweite Patch-Welle <<<<-

 

Fachlinks, Audit-Befehle & Automatisierungs-Skripte

Primäre Quellen und offizielle Dokumentationen der Sicherheitsorganisationen:

1. Manuelle Versionsprüfung auf dem Server

Prüfe per SSH-Terminal zwingend CLI- und FPM-Binaries:

# PHP CLI Version prüfen
php -v

# PHP-FPM Version prüfen
php-fpm -v || /usr/sbin/php-fpm -v

2. Automatisches Update-Skript (Debian / Ubuntu / RHEL)

#!/usr/bin/env bash
# php2shell_updater.sh - Notfall-Patching für Webserver
set -euo pipefail

echo "[*] Starte Prüfung und Update des PHP-Stacks..."

if [ -f /etc/debian_version ]; then
    sudo apt-get update -y
    sudo apt-get --only-upgrade install -y php*-fpm php*-cli php*-common php*-opcache
    echo "[*] Starte FPM und Webserver neu..."
    sudo systemctl restart php*-fpm || true
    systemctl is-active --quiet nginx && sudo systemctl reload nginx || true
    systemctl is-active --quiet apache2 && sudo systemctl reload apache2 || true
elif [ -f /etc/redhat-release ]; then
    sudo dnf check-update || true
    sudo dnf upgrade -y php\*
    echo "[*] Starte FPM und Webserver neu..."
    sudo systemctl restart php-fpm || true
    systemctl is-active --quiet nginx && sudo systemctl reload nginx || true
    systemctl is-active --quiet httpd && sudo systemctl reload httpd || true
fi

echo "[+] Aktualisierung abgeschlossen. Aktiver Stand:"
php -v | head -n 1

3. Log-Forensik: Auf Spuren von Angriffen prüfen

Suche nach typischen Exploit-Abbrüchen und Heap-Corruption-Mustern in den Logs:

# 1. Abstürze durch Speicherfehler im FPM-Log analysieren
grep -E "(SIGSEGV|Segmentation fault|zend_mm_heap corrupted)" /var/log/php*-fpm.log

# 2. Auffällige Speicherlimit-Abbrüche in Webserver-Access-Logs suchen
grep -E "500 " /var/log/nginx/*access.log | grep -E "multipart/form-data" | tail -n 20

# 3. Temporäre Verzeichnisse auf verdächtige Skripte / Dropper scannen
find /tmp /dev/shm /var/tmp -maxdepth 2 -type f \( -name "*.php" -o -name "*.sh" -o -name "*.elf" \) -exec ls -la {} \;

4. Konkrete WAF- und Webserver-Regeln (Nginx, Apache, Cloudflare)

Falls Systeme nicht sofort auf den bereinigten Versionsstand gehoben werden können, müssen vorgeschaltete Schutzmechanismen aktiviert werden.

A. Nginx Konfiguration (Reverse Proxy / Webserver)

Begrenze die Puffer für eingehende Request-Bodys und blockiere manipulative Header, die auf den Memory-Exhaustion-Exploit zielen:

# Innerhalb des http {} oder server {} Blocks einfügen:

# 1. Begrenzung unkontrollierter Request-Körper
client_max_body_size 16M;
client_body_buffer_size 128k;

# 2. Blockade anomaler Chunked- und Multipart-Muster
if ($http_content_type ~* "^multipart/form-data.*boundary=.*[;&\<\>\|]") {
    return 403 "Forbidden: Malformed Multipart Boundary";
}

# 3. Schutz vor rekursiven Parametern (Exploit-Struktur)
if ($request_uri ~* "(\%00|\x00|php:\/\/input|auto_prepend_file)") {
    return 403 "Forbidden: Insecure Parameter Injection";
}

B. Apache HTTP Server (via mod_rewrite / .htaccess)

Stelle sicher, dass mod_rewrite und mod_headers aktiv sind:

<IfModule mod_rewrite.c>
    RewriteEngine On

    # Blockieren verdächtiger PHP-Stream-Wrapper und Dateieinbindungen
    RewriteCond %{QUERY_STRING} (php:\/\/|auto_prepend_file|auto_append_file) [NC,OR]
    RewriteCond %{HTTP_USER_AGENT} (sqlmap|nikto|nuclei|zgrab) [NC,OR]
    RewriteCond %{THE_REQUEST} \s.*(\%00|\r|\n).* [NC]
    RewriteRule .* - [F,L]

    # Begrenzung bei fehlerhaften Multipart-Begrenzungen
    RewriteCond %{HTTP:Content-Type} ^multipart/form-data.*boundary=.*[\"\'\`\<\>] [NC]
    RewriteRule .* - [F,L]
</IfModule>

# Deaktivieren des Worker-Keepalives für unsichere Pools (Notbehelf)
<IfModule mod_headers.c>
    Header set Connection "close"
</IfModule>

C. Cloudflare (WAF Custom Rules)

Erstelle im Cloudflare Dashboard unter Security → WAF → Custom rules eine neue Regel mit der Aktion Block:

Regel-Ausdruck (Expression):
(http.request.uri.query contains "php://" or 
 http.request.uri.query contains "auto_prepend_file" or 
 (http.request.headers["content-type"][0] contains "multipart/form-data" and 
  len(http.request.headers["content-type"][0]) > 512))
Zusätzlich unter Managed Rules das Paket Cloudflare Managed Ruleset sowie OWASP Core Ruleset auf Paranoia-Level 2 aktivieren.

D. PHP-FPM Worker-Mitigation (Wichtig!)

Setze in deiner Pool-Konfigurationsdatei (z. B. /etc/php/8.x/fpm/pool.d/www.conf) das Worker-Recycling drastisch herab, um Use-after-Free-Verkettungen zu zerschlagen:

; Forciert das Zerstören und Neuerstellen eines Workers nach 50 Requests
pm.max_requests = 50

; Verhindert das Festhalten verwaister Prozesse
request_terminate_timeout = 60s

5. Executive Summary: Risikobewertung für Geschäftsleitung & Management

Bedrohungslage:
Kritisch (CVSS 9.2)
Angriffsvoraussetzung:
Keine Authentifizierung erforderlich (Internet-weit)
Mögliche Schadwirkung:
Vollständige Serverübernahme, Datenabfluss, Erpressung

Kurzfassung des Vorfalls

Im weltweiten PHP-Kern wurden zwei fundamentale Schwachstellen publik, die es externen Kriminellen ermöglichen, ohne Login-Daten schädliche Programme auf Unternehmensservern auszuführen. Betroffen sind schätzungsweise über 70 % aller dynamischen Webanwendungen im Internet. Erste Angriffswellen laufen bereits automatisiert ab.

Unternehmerische Risiken

  • Betriebsunterbrechung: Zwanghafte Notabschaltungen von Online-Shops oder Portalen bei Befall.
  • Datenschutzverletzung (DSGVO): Potenzielle Entwendung von Kunden-, Zahlungs- und Unternehmensdaten mit Meldepflicht binnen 72 Stunden.
  • Haftung & Reputationsschaden: Öffentlicher Vertrauensverlust bei unzureichendem Patch-Management.

Status der Gegenmaßnahmen & Freigabeempfehlung

MaßnahmeStatusAuswirkung auf den Betrieb
WAF-Schutzregeln (Cloudflare / Edge) Aktiviert Keine Beeinträchtigung für Kunden
Einspielen der Sicherheitsupdates (PHP 8.2.35+) In Durchführung Kurzer Neustart der Webdienste (< 30 Sekunden)
Legacy-System-Audit (PHP ≤ 8.1) Budgetfreigabe erforderlich Muss isoliert oder via Extended-Support abgesichert werden
Entscheidungsvorlage: Das IT-Management empfiehlt die sofortige Freigabe außerplanmäßiger Wartungsfenster sowie die Bereitstellung von Notfallbudgets für die Migration oder Absicherung älterer PHP-Altsysteme.

Kaspersky Aktuell

Offizieller Blog von Kaspersky

suche