Projekt

Allgemein

Profil

Aktionen

Bug #328

offen

[Bugsink] DateMalformedStringException: Failed to parse time string (2026-(select 198766*667891 from DUAL)-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/170798ff-7301-4430-8af9-5cd0ab29da1f/event/last/

Typ: NEW issue

Projekt: www-rietberg-de

Bugsink Alert

DateMalformedStringException: Failed to parse time string (2026-(select 198766*667891 from DUAL)-01) at position 4 (-): Unexpected character


Automatisch erstellt durch n8n

KI-Analyse:

Analyse des Fehlers:


1. Ursache identifizieren

Der Fehler DateMalformedStringException wird ausgelöst, wenn TYPO3 versucht, einen ungültigen Datumsstring parsiert. Der fehlerhafte String lautet:
"2026-(select 198766*667891 from DUAL)-01".
Dies ist ein klassischer SQL-Injection-Angriff, bei dem über einen Parameter (hier vermutlich ein Datum) schädlicher SQL-Code eingeschleust wird. Der String enthält eine SQL-Subquery (select ... from DUAL), die nicht Teil eines gültigen Datums sein darf. PHP's DateTime-Parser bricht mit der Exception ab, sobald das Zeichen - (Position 4) unerwartet ist.


2. Fix beschreiben (konkret)

  • Input-Validierung: Alle Benutzereingaben (insbesondere Datumsparameter) müssen strikt auf das erwartete Format (z. B. YYYY-MM-DD) geprüft werden.
  • Prepared Statements: Datenbankabfragen müssen immer mit Prepared Statements (z. B. über TYPO3_DB oder Doctrine DBAL) durchgeführt werden, um Injection zu verhindern.
  • Fehlerbehandlung: SQL-Fehler sollten nicht an den Client weitergegeben werden. Stattdessen sollte ein generischer Fehler ausgegeben werden.
  • Extension-Prüfung: Die betroffene Extension muss auf sichere Datumsverarbeitung überprüfen (z. B. Verwendung von DateTime-Objekten statt String-Konkatenation).

3. Betroffene TYPO3 Extension

Der Fehler ist nicht direkt einer Standard-TYPO3-Extension zuzuordnen, sondern resultiert aus einer fehlerhaften benutzerdefinierten Extension oder einem Plugin, das:

  • Unsichere Datumsparameter aus der URL oder aus Formularen entgegennimmt.
  • Diese ohne Validierung in eine Datenbankabfrage einbindet.
  • Keine Prepared Statements verwendet.

Typische Extensions, die solche Muster aufweisen können:

  • Individuelle Extensions mit benutzerdefinierten Formularen/Plugins.
  • Extensions mit unsicherer Datumsverarbeitung (z. B. tx_...-Prefixed-Extensions).

4. Confidence (0-100%)

95%
Der Error ist eindeutig auf eine SQL-Injection-Versuchsdatum zurückzuführen. Die Exception wird von PHP's DateTime-Parser ausgelöst, der die ungültige Eingabe erkennt. Die Stacktrace zeigt, dass der Fehler in der TYPO3-Anwendungslogik auftritt (nicht in PHP selbst). Die fehlende Validierung und die Verwendung von SQL-Strings in Datumsparametern sind typische Schwachstellen.


Empfehlung:
Überprüfen Sie alle Extensions auf unsichere Datumsparameter und migrieren Sie auf Prepared Statements. Nutzen Sie TYPO3's Extbase-Validierung oder TYPO3_DB-Abfragen mit prepare()-Methoden.

Nichts anzuzeigen

Aktionen

Auch abrufbar als: Atom PDF