Bug #248
offen[Bugsink] ErrorException: Warning: Undefined array key "system"
0%
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()gibtnullzurü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