Bug #211
offen[Bugsink] ErrorException: Warning: filesize(): stat failed for /srv/www/www.verl.de/pages/public/uploads/tx_powermail/10_xor_1_if_now___sysdate___sleep_15__0__…
0%
Beschreibung
Bugsink: https://bugsink.cytrus.de/issues/issue/a4dd628f-b3d4-46ea-9b16-b0e133b0bfec/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/10_xor_1_if_now___sysdate___sleep_15__0__…
Automatisch erstellt durch n8n
KI-Analyse:
1. Ursache identifiziert¶
Der Fehler ist kein TYPO3-Core-Problem. Der Core taucht nur im Stack auf, weil TYPO3 den PHP-Warning in eine ErrorException umgewandelt hat.
Konkreter Root Cause:
filesize(): stat failed for /srv/www/www.verl.de/pages/public/uploads/tx_powermail/10_xor_1_if_now___sysdate___sleep_15__0__xor_z
Bedeutet:
- PHP versucht, die Größe einer Datei zu lesen.
- Die Datei existiert nicht oder ist für den Webserver-Prozess nicht lesbar.
- Der Pfad liegt unter:
public/uploads/tx_powermail/
Das ist der typische Upload-Ordner der Extension:
friendsoftypos3/powermail
Der Dateiname:
10_xor_1_if_now___sysdate___sleep_15__0__xor_z
sieht nicht nach einem normalen Upload aus, sondern nach einem bereinigten SQL-Injection-/Probe-Payload, z. B. abgeleitet von:
10 xor 1 if(now() = sysdate(), sleep(15), 0) xor z
Sehr wahrscheinlich wurde ein Powermail-Formular von einem Bot angesprochen und ein manipulierter Upload-Parameter bzw. Dateiname übermittelt. Powermail oder ein zugehöriger Finisher versucht anschließend, diese Datei als Upload/Attachment zu verarbeiten, obwohl sie nicht physisch existiert.
2. Fix konkret¶
Sofort prüfen¶
Auf dem Server prüfen:
ls -l /srv/www/www.verl.de/pages/public/uploads/tx_powermail/10_xor_1_if_now___sysdate___sleep_15__0__xor_z
sowie Rechte:
sudo -u www-data test -r /srv/www/www.verl.de/pages/public/uploads/tx_powermail/10_xor_1_if_now___sysdate___sleep_15__0__xor_z
echo $?
Wenn die Datei nicht existiert: Es gibt eine dangling Reference, also einen Powermail-Datensatz/Finisher-Lauf, der auf eine nicht vorhandene Upload-Datei zeigt.
Powermail aktualisieren¶
Prüfen, welche Version installiert ist:
composer show friendsoftypos3/powermail
Dann auf die aktuelle kompatible Version aktualisieren:
composer update friendsoftypos3/powermail
./vendor/bin/typo3 cache:flush
Ältere Powermail-Versionen hatten in verschiedenen Konstellationen Schwächen beim Umgang mit fehlenden oder manipulierten Upload-Dateien.
Datenbank nach referenziertem Dateinamen durchsuchen¶
Powermail speichert Antworten typischerweise in Tabellen wie:
tx_powermail_domain_model_mail
tx_powermail_domain_model_answer
Prüfen:
SELECT *
FROM tx_powermail_domain_model_answer
WHERE value LIKE '%10_xor_1_if_now___sysdate___sleep_15__0__xor_z%'
OR value2 LIKE '%10_xor_1_if_now___sysdate___sleep_15__0__xor_z%';
Falls vorhanden:
- Spam-/Test-Datensatz löschen oder markieren.
- Keine echten Mail-Datensätze löschen, ohne Fachbereich/Redaktion abzustimmen.
Falls eigener Finisher / Custom Code beteiligt ist¶
Jede Stelle, die filesize() auf Uploads ausführt, muss vorher prüfen:
if (is_file($filePath) && is_readable($filePath)) {
$size = filesize($filePath);
} else {
// Datei fehlt oder ist nicht lesbar
// Attachment überspringen, sauber loggen, aber keinen Warning erzeugen
}
Nicht einfach @filesize() verwenden. Das unterdrückt nur das Symptom.
Formular absichern¶
Im betroffenen Powermail-Formular prüfen:
- Upload-Felder nur aktivieren, wenn wirklich benötigt.
-
allowedExtensionsrestriktiv setzen, z. B.:
pdf,jpg,jpeg,png,doc,docx,xls,xlsx
-
maxFileSizebegrenzen. - Pflichtupload nur, wenn fachlich notwendig.
- Honeypot/Captcha aktivieren.
- Spam-Schutz/Rate-Limiting/WAF gegen Bot-Anfragen einsetzen.
3. Betroffene TYPO3 Extension¶
Höchstwahrscheinlich:
friendsoftypos3/powermail
Kurzname:
powermail
Der TYPO3 Core ist hier nicht die betroffene Extension, sondern nur Teil des HTTP-Request-Stacks.
4. Confidence¶
95%
Begründung: Der Pfad uploads/tx_powermail/ ist eindeutig Powermail-spezifisch. Der eigentliche Fehler ist eine fehlende/nicht lesbare Upload-Datei, die von Powermail oder einem Powermail-Finisher verarbeitet wird.
Nichts anzuzeigen