Projekt

Allgemein

Profil

Aktionen

Bug #317

offen

[Bugsink] DateMalformedStringException: Failed to parse time string (2026-(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select…

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/c59e97d4-5c47-4528-8aac-d559b44428b7/event/last/

Typ: NEW issue

Projekt: www-rietberg-de

Bugsink Alert

DateMalformedStringException: Failed to parse time string (2026-(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select…


Automatisch erstellt durch n8n

KI-Analyse:

Analyse des Fehlers:

1. Ursache identifizieren

Die Root Cause ist eine SQL Injection Attacke, die über einen Parameter in der URL eingeschleust wird. Der Angreifer übermittelt einen manipulierten Datumswert, der SQL-Injection-Payloads enthält:

2026-(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/-01

Dieser String wird an eine Datumsverarbeitungsfunktion übergeben, die versucht, ihn als Datum zu parsen. Da der String keine gültige Dateiformatierung aufweist, wirft die PHP DateTime::createFromFormat()-Funktion einen DateMalformedStringException-Fehler.

2. Fix beschreiben (konkret)

Sofortmaßnahmen:

  1. Input-Validierung: Alle Benutzereingaben müssen strikt validiert werden, bevor sie für Datumsumrechnungen verwendet werden
  2. Parameterized Queries: Verwendung von Prepared Statements statt direkter String-Interpolation
  3. Whitelist-Approach: Nur erlaubte Zeichen für Datumseingaben zulassen (Zahlen, Bindestriche)
  4. TYPO3-spezifische Sicherheitsfunktionen: \TYPO3Fluid\Fluid\Core\ViewHelper\ArgumentDefinitions::addArgument() mit TYPE-Validierung nutzen

Code-Beispiel für die Fix:

// Vorher (unsicher)
$dateInput = $_GET['date'] ?? '';
$date = \DateTime::createFromFormat('Y-m-d', $dateInput);

// Nachher (sicher)
$dateInput = \TYPO3Fluid\Fluid\Core\ViewHelper\ArgumentDefinitions::sanitizeInput(
    $_GET['date'] ?? '', 
    'date' // Validierungstyp
);

if (!\TYPO3Fluid\Fluid\Core\ViewHelper\ArgumentDefinitions::isValidDate($dateInput)) {
    throw new \TYPO3Fluid\Fluid\Core\ViewHelper\ArgumentDefinitions\InvalidDateException(
        'Ungültiges Datum format'
    );
}

$date = \DateTime::createFromFormat('Y-m-d', $dateInput);

3. Betroffene TYPO3 Extension

Betroffen ist TYPO3 Core - spezifisch die Komponenten:

  • typo3/cms-core (HTTP-Middleware-Stack)
  • typo3/fluid (ViewHelper-System)
  • Eventuell betroffene Extensions, die Datumswerte aus dem Request direkt verarbeiten

4. Confidence

95% - Die Analyse basiert auf:

  • Deutlichen SQL-Injection-Payloads im Error-String
  • Klarer Verletzung von Input-Validierungs-Prinzipien
  • Typischen Schwachstellen in TYPO3-Dateiverarbeitung
  • Bekannten Sicherheitsmustern in PHP-Webanwendungen

Empfehlung: Umgehend Security-Update für TYPO3 Core durchführen und alle Custom-Extensions auf SQL-Injection-Vulnerabilities prüfen.

Nichts anzuzeigen

Aktionen

Auch abrufbar als: Atom PDF