Bug #215
offen[Bugsink] ErrorException: Warning: filesize(): stat failed for /srv/www/www.verl.de/pages/public/uploads/tx_powermail/1-1___or_519__select_519_from_pg_sleep_15…
0%
Beschreibung
Bugsink: https://bugsink.cytrus.de/issues/issue/c4e76170-6fda-4d28-8af9-5cd13e0d0582/event/last/
Typ: NEW issue
Projekt: www-verl-de
Bugsink Alert
ErrorException: Warning: filesize(): stat failed for /srv/www/www.verl.de/pages/public/uploads/tx_powermail/1-1___or_519__select_519_from_pg_sleep_15…
Automatisch erstellt durch n8n
KI-Analyse:
Analyse des Fehlers¶
1. Ursache (Root Cause)¶
Der Fehler ist kein klassischer Software-Bug, sondern das Ergebnis eines SQL-Injection-Angriffs über den Datei-Upload der powermail Extension.
Der Dateiname selbst ist die smoking gun:
1-1___or_519__select_519_from_pg_sleep_15__--
Dieser Name enthält eindeutig SQL-Injection-Payload-Fragmente:
-
select ... from pg_sleep(15)→ Zeitbasierte Blind SQL Injection (PostgreSQL) -
1-1___or_→ Boolean-basierte SQL Injection (1-1 OR ...) -
--→ SQL-Kommentar
Was passiert ist:
- Ein Angreifer hat über das powermail-Kontaktformular einen Datei-Upload mit diesem manipulierten Dateinamen abgesendet.
- Die Datei wurde entweder gar nicht oder nicht korrekt auf dem Filesystem abgelegt.
- TYPO3/powermail hat anschließend versucht,
filesize()auf diesen Pfad aufzurufen →stat()schlug fehl, da die Datei nicht existiert → Warning → ErrorException.
Die eigentliche Schwachstelle liegt in der unzureichenden Eingabebereinigung (Input Sanitization) beim Datei-Upload: Der Dateiname wurde nicht ausreichend gefiltert, sodass SQL-Injection-Sequenzen als Dateiname gespeichert wurden.
2. Fix (konkret)¶
Sofort-Maßnahmen:
- Die verdächtige Datei
/srv/www/www.verl.de/pages/public/uploads/tx_powermail/1-1___or_519__select_519_from_pg_sleep_15__--löschen (falls vorhanden). - Datenbank-Tabellen der powermail Extension prüfen (
tx_powermail_*), ob Einträge mit verdächtigen Werten eingetragen wurden. -
Alle Uploads im
uploads/tx_powermail/-Verzeichnis auf schädliche Inhalte prüfen.
Code-/Konfigurations-Fix:
- powermail Extension auf die neueste Version updaten — aktuelle Versionen haben verbesserte Datei-Validierung.
- In der Extbase-Upload-Validierung von powermail (oder eigener Erweiterung):
// Dateiname sanitären: nur alphanumerisch, Bindestrich, Unterstrich erlauben $safeName = preg_replace('/[^a-zA-Z0-9_\-.]/', '_', $originalName); -
Datei-Upload-Whitelist für Dateitypen erzwingen (z.B. nur
.pdf,.jpg,.png). - Dateiname-Länge begrenzen.
- In
.htaccess/ Webserver-Konfiguration PHP-Ausführung im Upload-Verzeichnis unterbinden:<Directory "/srv/www/www.verl.de/pages/public/uploads/tx_powermail"> php_flag engine off Options -ExecCGI </Directory> - WAF (Web Application Firewall) wie ModSecurity oder fail2ban aktivieren, um SQL-Injection-Versätze im Request zu blockieren.
3. Betroffene TYPO3 Extension¶
powermail (tx_powermail) — die bekannteste TYPO3 Formular-Extension.
Der Upload-Pfad uploads/tx_powermail/ bestätigt dies eindeutig.
Zusätzlich könnte auch die TYPO3 Core-Datei-Verarbeitung betroffen sein, wenn über den sys_file-Datensatz Referenzen auf den schädlichen Pfad gelegt wurden.
4. Confidence¶
98% — Der Dateiname enthält unmissverständlich SQL-Injection-Payload-Muster (pg_sleep, select ... from, ---Kommentar). Es handelt sich hierbei eindeutig um einen automatisierten Angriffsversuch, kein Zufall. Die 2% Unsicherheit beziehen sich darauf, ob der Angreifer tatsächlich erfolgreich war (SQL-Injection ausgeführt hat) oder nur der Upload-Versuch stattfand.
⚠️ Sicherheitshinweis¶
Dies sollte als Sicherheitsvorfall behandelt werden. Empfohlen wird:
- Audit aller Datenbankeinträge in powermail-Tabellen
- Prüfung auf kompromittierte Backend-Benutzer
- Überprüfung der
typo3temp/unduploads/Verzeichnisse auf weitere verdächtige Dateien - Passwort-Änderung aller Backend-User
Nichts anzuzeigen