Sofort handeln
Bis das Update läuft: Angriffsfläche verkleinern.
Diese Maßnahmen verschaffen Zeit. Sie ersetzen das Update nicht.
1. PHP aktualisieren
Auf mindestens 8.5.12, 8.4.27, 8.3.36, 8.2.35, je nach Linie. Danach alle PHP-Prozesse neu starten: FPM, Apache, FrankenPHP und Queue-Worker. Bei Docker das Basis-Image neu ziehen und den Container neu erstellen, nicht nur neu starten.
2. Session-Upload-Fortschritt abschalten
In der php.ini setzen, nicht per ini_set(), und alle Worker neu starten:
session.upload_progress.enabled = 0
memory_limit = -1
post_max_size = 8M
memory_limit=-1 gehört nur dahin, wo ein Container- oder cgroup-Limit den Speicher begrenzt.
3. Multipart am Caddy abweisen
Für Caddy und FrankenPHP, am Anfang des Site-Blocks:
@multipart header_regexp Content-Type (?i)multipart
respond @multipart 403
4. Multipart am nginx abweisen
Im http-Kontext eine Map, in jedem PHP-Server-Block die Abfrage:
map $http_content_type $block_multipart {
default 0;
"~*multipart" 1;
}
if ($block_multipart) { return 403; }
Der Multipart-Block stoppt auch legitime Datei-Uploads und manche Formulare. Nach dem Update entfernen und Uploads testen. Anfragen, die den Server an einem CDN oder einer WAF vorbei direkt erreichen, umgeht der Block am Rand nicht - setzen Sie ihn auf dem Server selbst.