Bug #310
offen[Bugsink] DateMalformedStringException: Failed to parse time string (2026--1" OR 5*5=25 -- -01) at position 4 (-): Unexpected character
0%
Beschreibung
Bugsink: https://bugsink.cytrus.de/issues/issue/cd27e112-d499-4023-9b86-41930fee3483/event/last/
Typ: NEW issue
Projekt: www-rietberg-de
Bugsink Alert
DateMalformedStringException: Failed to parse time string (2026--1" OR 5*5=25 -- -01) at position 4 (-): Unexpected character
Automatisch erstellt durch n8n
KI-Analyse:
1. Ursache identifizieren
Der Fehler DateMalformedStringException: Failed to parse time string (2026--1" OR 5*5=25 -- -01) deutet auf eine SQL-Injection-Versuche hin. Die Zeichenfolge enthält typische Muster einer Injections (OR 5*5=25, Kommentare wie --) und wird offenbar als Datumswert interpretiert.
Die Ursache ist also:
Ein nicht validierter Eingabewert, der über eine GET- oder POST-Variablen in TYPO3 übergeben wird und versucht wird, als Datum zu parsen (z. B. in einem Custom-Controller, einer Extension oder einer TypoScript-Konfiguration). Dadurch entsteht der Crash beim Parsen des Datumsstrings.
Dieser Wert wird vermutlich direkt an strtotime() oder new \DateTime() weitergegeben, ohne vorherige Validierung.
2. Fix beschreiben (konkret)
-
Eingaben validieren und sanitizen:
Stelle sicher, dass alle datumsbezogenen Eingaben (timestamp,year,month, etc.) vor der Verwendung validiert werden.Beispiel:
$inputDate = $_GET['date'] ?? null; if ($inputDate) { try { $date = new \DateTime($inputDate); } catch (\DateMalformedStringException | \Exception $e) { // Loggen und Fehler abfangen throw new \InvalidArgumentException('Ungültiges Datumsformat.'); } } -
Verwende Whitelisting für erlaubte Formate:
Erlaube nur bestimmte Formate wie z. B.Y-m-d. -
TYPO3-Input-Validatoren nutzen:
Nutze z. B.\TYPO3\CMS\Core\Utility\GeneralUtility::_GP()mit zusätzlicher Validierung oder\TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement. -
TypoScript- oder Controller-Parameter prüfen:
Wenn dies aus einer Extension kommt, prüfe deren Code auf unsichere Verarbeitung von Parametern.
3. Betroffene TYPO3 Extension nennen
Da keine konkrete Extension im Stacktrace genannt ist, liegt die Wahrscheinlichkeit, dass es sich um eine eigene / maßgeschneiderte Extension handelt**, die Daten direkt aus $_GET verarbeitet und an DateTime übergibt.
Falls Standard-TYPO3-Funktionalitäten betroffen wären, käme dies typischerweise aus:
EXT:formEXT:news-
EXT:calendar/EXT:events - Eigenen Controllern/Modulen
👉 Empfehlung: Durchsuche das Projekt nach Verwendung von new \DateTime(, strtotime( oder DateUtility mit externen Parametern.
4. Confidence (0–100%)
85 %
Der Fehler ist eindeutig eine Injection-Versuche, die als Datum interpretiert wird. Die genaue Extension kann nur durch Code-Analyse im Projekt bestimmt werden.
Nichts anzuzeigen