Projekt

Allgemein

Profil

Aktionen

Bug #310

offen

[Bugsink] DateMalformedStringException: Failed to parse time string (2026--1" OR 5*5=25 -- -01) at position 4 (-): Unexpected character

Von Bug Sink vor 27 Tagen hinzugefügt.

Status:
Neu
Priorität:
wichtig
Zugewiesen an:
-
Beginn:
25.09.2026
Abgabedatum:
% erledigt:

0%

Geschätzter Aufwand:

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:form
  • EXT: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

Aktionen

Auch abrufbar als: Atom PDF