Bug #266
offen[Bugsink] ErrorException: Warning: filesize(): stat failed for /srv/www/www.verl.de/pages/public/uploads/tx_powermail/1-1_or_801__select_801_from_pg_sleep_15__…
0%
Beschreibung
Bugsink: https://bugsink.cytrus.de/issues/issue/04e6f08c-9b19-4817-8afa-a790645d6ab8/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_801__select_801_from_pg_sleep_15__…
Automatisch erstellt durch n8n
KI-Analyse:
1. Ursache identifizieren¶
Der Fehler tritt auf, weil versucht wird, die Datei 1-1_or_801__select_801_from_pg_sleep_15__-- mittels filesize() zu analysieren – ein klares Zeichen dafür, dass PowerMail (oder eine andere Komponente) versucht, eine hochzuladene Datei zu verarbeiten, deren Name SQL-Injection-Kennzeichen enthält:
1-1_or_801__select_801_from_pg_sleep_15__--
Dies ist typisch für einen Angriffsversuch, bei dem jemand versucht, SQL-Injection über den Dateinamen einer PowerMail-Upload-Datei auszuführen (z. B. durch pg_sleep als Time-Based Blind SQL Injection).
Die Datei existiert jedoch nicht physisch im angegebenen Pfad (/uploads/tx_powermail/...), was darauf hindeutet:
- Die Datei wurde nie korrekt hochgeladen.
- Oder sie wurde nach dem Upload gelöscht / befindet sich in einem inkonsistenten Zustand.
- PowerMail versucht jedoch, Metadaten wie Dateigröße abzurufen, ohne vorher zu prüfen, ob die Datei existiert.
👉 Fazit:
Ein fehlerhafter oder manipuliert Upload-Vorgang in Kombination mit fehlender Validierung führt dazu, dass PowerMail versucht, eine nicht existierende Datei zu lesen → stat failed.
2. Fix beschreiben (konkret)¶
✅ Sofortmaßnahme:¶
Stelle sicher, dass alle Dateien unter uploads/tx_powermail/ existieren und gültige Namen haben. Lösche alle verdächtigen oder nicht mehr vorhandenen Einträge manuell aus dieser Ordnerstruktur.
Prüfe außerdem:
- Ob es kürzlich geblockte Anfragen mit solchen Dateinamen gab (z. B. in Server-Logs).
- Ob der betreffende Formularname in PowerMail anfällig für Manipulationen ist.
✅ Code-Anpassung (wenn du Zugriff auf Extensions hast):¶
PowerMail sollte immer vor dem Aufruf von filesize() prüfen, ob die Datei existiert:
if (file_exists($filePath)) {
$size = filesize($filePath);
} else {
// Fallback oder Logging
}
Alternativ kannst du auch eine Middleware oder Hook einbauen, der/s die Eingaben vor der Verarbeitung durch PowerMail filtert.
✅ Sicherheitshärtung:¶
- Setze Regeln im Webserver (Apache/Nginx), um Dateinamen mit SQL-Syntax zu blockieren.
- Nutze
.htaccessoder serverseitige Filter, um Pfade wietx_powermail/*zu säubern. - Deaktiviere eventuell problematische Felder temporär, bis Patches vorhanden sind.
3. Betroffene TYPO3 Extension nennen¶
Extension:
powermail
- Hersteller: In2code
- Verwendet für Formulare mit Dateiupload-Funktionalität
- Typisch für Schwachstellen bei Dateinamenshandling und Validierung
4. Confidence (0–100%)¶
Confidence: 90 %
Der Name der Datei und der Fehlerpunkt deuten eindeutig auf PowerMail hin. Die Kombination aus SQL-Injection-Versuch im Dateinamen + fehlender Existenzprüfung vor filesize() liegt genau im typischen Fehlerbereich dieser Extension.
Ein kleiner Restunsicherheit bleibt wegen möglicher Dritt-Einwirkungen (z. B. Custom-Erweiterungen, die in PowerMail-Uploads eingreifen), aber primär liegt die Ursache hier.
Nichts anzuzeigen