Projekt

Allgemein

Profil

Aktionen

Bug #324

offen

[Bugsink] DateMalformedStringException: Failed to parse time string (-1 OR 5*5=26-01-01) at position 6 (5): 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/d9dfd066-b879-4797-8625-8ae3695cbafe/event/last/

Typ: NEW issue

Projekt: www-rietberg-de

Bugsink Alert

DateMalformedStringException: Failed to parse time string (-1 OR 5*5=26-01-01) at position 6 (5): Unexpected character


Automatisch erstellt durch n8n

KI-Analyse:

Analyse des Fehlers

1. Ursache identifizieren

Der Fehler DateMalformedStringException: Failed to parse time string (-1 OR 5*5=26-01-01) entsteht, weil PHP versucht, den String -1 OR 5*5=26-01-01 als Datum zu parsen — was unmöglich ist, da dies kein gültiges Datumsformat darstellt.

Tiefere Ursache:

Der Stack Trace zeigt, dass der Fehler in der VerifyHostHeader::process()-Middleware (Zeile 55) ausgelöst wird. Der manipulierte String (-1 OR 5*5=26-01-01) ist offensichtlich ein SQL-Injection-Versuch:

  • 5*5=25, also 5*5=26 ergibt FALSE
  • -01-01 simuliert ein Datumsformat
  • Der gesamte String zielt darauf ab, eine Bedingung zu manipulieren und gleichzeitig als Datum getarnt zu sein

Der HTTP_HOST-Header oder ein Datenbank-Feld (wahrscheinlich sys_domain oder site-Konfiguration) enthält diesen manipulierten Wert. TYPO3 versucht aus dem Host-Header eine Site-Konfiguration abzuleiten und stößt dabei auf einen Datums-Parser, der den String nicht verarbeiten kann.

2. Fix (konkret)

  1. Sofortiger Schutz:

    • Den HTTP_HOST-Header auf ungültige/manuelipulierte Werte prüfen (z.B. durch Regex-Validierung in config/LOCALCONF.php oder .htaccess)
  2. Datenbank bereinigen:

    • Suche in allen Datenbanktabellen nach dem String -1 OR 5*5=26-01-01:
      SELECT * FROM sys_domain WHERE domainName LIKE '%OR 5*5=%';
      SELECT * FROM pages WHERE ... LIKE '%OR 5*5=%';
      SELECT * FROM sys_template WHERE ... LIKE '%OR 5*5=%';
      
    • Den fehlerhaften Eintrag umgehend löschen oder bereinigen
  3. Site-Konfiguration prüfen:

    • Unter config/sites/ die config.yaml aller Sites überprüfen — insbesondere base, baseVariants und Datums-Felder
    • Sicherstellen, dass kein manipulierter Host-Wert hinterlegt ist
  4. Middleware absichern:

    • VerifyHostHeader-Middleware kann mit einem Whitelist-Ansatz erweitert werden, um nur bekannte Hostnamen zu akzeptieren
    • Alternativ: TYPO3's trustedHostsPattern in $GLOBALS['TYPO3_CONF_VARS']['SYS']['trustedHostsPattern'] konfigurieren
  5. Sicherheitsanalyse:

    • Prüfen, wie der manipulierte Wert in die Datenbank gelangt ist (Security-Lücke in einer Extension? Unsicheres Backend-Login?)
    • Logs des Webservers und der Datenbank auf weitere Attacke-Versuche prüfen

3. Betroffene TYPO3 Extension

Der Stack Trace zeigt ausschließlich TYPO3 Core-Komponenten (cms-core). Der direkte Fehler liegt in:

  • TYPO3\CMS\Core\Middleware\VerifyHostHeader (Core)

Die betroffene Quelle des manipulierten Werts ist höchstwahrscheinlich:

  • sys_domain-Tabelle oder site-Konfiguration (config/sites/<site>/config.yaml)
  • Eventuell eine benutzerdefinierte Drittanbieter-Extension, die den Host-Header oder Domain-Eintrag unverifiziert in die Datenbank schreibt

4. Confidence

75% — Der Fehlermuster und der Stack Trace sind eindeutig. Die Identifizierung des Strings als SQL-Injection-Versuch und des HTTP_HOST-Headers als Vektor ist hochwahrscheinlich, aber ohne Zugriff auf die Datenbank und die vollständige site-Konfiguration kann die exakte Einfallquelle der manipulierte String nicht zu 100% bestimmt werden. Es könnte auch ein fehlerhaftes Datumsfeld in einer Custom-Extension sein, das den String enthält.


Zusammenfassung: Es liegt ein manipulierter HTTP_HOST-Header oder Datenbank-Eintrag vor, der den String -1 OR 5*5=26-01-01 (SQL-Injection-Versuch) enthält. TYPO3 versucht diesen als Datum zu parsen und scheitert. Sofort die Datenbank und site-Konfiguration auf diesen Wert prüfen und den Host-Header über trustedHostsPattern absichern.

Nichts anzuzeigen

Aktionen

Auch abrufbar als: Atom PDF