Projekt

Allgemein

Profil

Aktionen

Bug #248

offen

[Bugsink] ErrorException: Warning: Undefined array key "system"

Von Bug Sink vor etwa 1 Monat hinzugefügt.

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

0%

Geschätzter Aufwand:

Beschreibung

Bugsink: https://bugsink.cytrus.de/issues/issue/646d152a-0058-4de7-a339-9077da06b46a/event/last/

Typ: NEW issue

Projekt: www-fuchsfelge-com

Bugsink Alert

ErrorException: Warning: Undefined array key "system"


Automatisch erstellt durch n8n

KI-Analyse:

1. ROOT CAUSE

Der Fehler wird durch einen unsicheren Array-Zugriff auf den system-Schlüssel auf der Request-Objekt-Attributliste verursacht.
Im Trace wird der Fehler in TYPO3\CMS\Core\Middleware\NormalizedParamsAttribute::process (Zeile 44) ausgelöst.
Der Code greift auf $request->getAttributes()['system'] zurück, ohne zu überprüfen, ob der Schlüssel tatsächlich vorhanden ist.

Zur Laufzeit enthält der Request auf diesem Punkt das Attribut system nicht (die vorherige Middleware VerifyHostHeader hat es entweder nie gesetzt oder überschrieben), was zu folgender Warnung führt:

ErrorException: Warning: Undefined array key "system"

2. KONKRETER FIX

  • Datei: vendor/typo3/cms-core/Classes/Middleware/NormalizedParamsAttribute.php
  • Zeile ≈ 44 (in der process-Methode)

Aktueller Code (vereinfacht)

$system = $request->getAttributes()['system'];   // <-- löst die Ausnahme aus

Korrigierter Code

$system = $request->getAttribute('system') ?? 'WEB';   // sicher abrufen mit einem sinnvollen Standardwert

oder, falls der system-Wert für die Normalisierung erforderlich ist, legen Sie ihn zuerst fest (z. B. in VerifyHostHeader::process), sodass der Middleware nach Ihnen sicher darauf zugreifen kann.

// In VerifyHostHeader::process (oder einem frühen Middleware)
if (!$request->hasAttribute('system')) {
    $request = $request->withAttribute('system', 'WEB'); // CLI <-> WEB Erkennung hier hinzufügen, falls erforderlich
}

Warum dies funktioniert

  • Request->getAttribute() gibt null zurück, wenn der Schlüssel fehlt, und löst keine Ausnahme aus.
  • Die Bereitstellung eines Standardwerts ('WEB' ist der Standardwert für HTTP-Anfragen) stellt sicher, dass der Rest des Middlewares die erwartete Struktur erhält.
  • Durch das frühzeitige Festlegen des Attributs bleibt die bestehende Logik erhalten und zukünftige Middlewares können darauf sicher zugreifen.

3. BETROFFENE TYPO3-EXTENSION

Die fehlerhafte Middleware gehört zum TYPO3 CMS Core (typo3/cms-core).
Keine spezielle Extension muss aktualisiert werden; der Fehler ist ein Kernproblem, das sich auf alle Installationen auswirkt, die diese Version des Core verwenden.

(Wenn eine Drittanbieter-Extension ebenfalls direkt auf ['system'] über getAttributes() zugreift, wäre sie ebenfalls betroffen – aber der Kern ist die Ursache.)

4. CONFIDENCE

85 % – die Spur zeigt direkt auf die Zeile in NormalizedParamsAttribute, die den undefinierten Schlüssel verwendet. Die Korrektur folgt dem TYPO3-Muster sicherer Attributzugriffe (getAttribute() mit einem Fallback) und wird in allen aktuellen TYPO3-Versionen die Warnung beseitigen.

Nichts anzuzeigen

Aktionen

Auch abrufbar als: Atom PDF