Bug #175
offen[Bugsink] TYPO3\CMS\Extbase\Mvc\Exception\InvalidControllerNameException: The controller "Event%' AND EXTRACTVALUE(9461,CONCAT(0x7e,((SELECT (ELT(9461=9461,1))…
0%
Beschreibung
Bugsink: https://bugsink.cytrus.de/issues/issue/01c52da1-e497-4882-b07e-656f16620b10/event/last/
Typ: NEW issue
Projekt: www-rietberg-de
Bugsink Alert
TYPO3\CMS\Extbase\Mvc\Exception\InvalidControllerNameException: The controller "Event%' AND EXTRACTVALUE(9461,CONCAT(0x7e,((SELECT (ELT(9461=9461,1))…
Automatisch erstellt durch n8n
KI-Analyse:
1. Ursache
Der Fehler wird ausgelöst, weil beim Aufruf von ExtensionUtility::configurePlugin() ein Controller‑Name übergeben wird, der nicht den Erwartungen von TYPO3 entspricht. Der Name enthält einen SQL‑Injection‑Payload ('Event%' AND EXTRACTVALUE(9461,CONCAT(0x7e,((SELECT (ELT(9461=9461,1)))),0x7e))--). TYPO3 prüft den Controller‑Namen streng und wirft deshalb eine InvalidControllerNameException. Die Ursache liegt in einer unzureichenden Validierung bzw. Sanitisation des Plugin‑Signatur‑ bzw. Controller‑Namens – vermutlich wird ein von außen (z. B. über GET/POST) übermitteltes Zeichen ungefiltert an configurePlugin übergeben.
2. Fix (konkret)
-
Plugin‑Definition prüfen
Inext_localconf.php(bzw.ext_tables.php) darf die Plugin‑Registrierung nur harte Klassennamen verwenden, keine dynamischen oder user‑gesteuerten Strings. Beispiel:\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin( 'Vendor', 'Calendarlist', 'LLL:EXT:calendarlist/Resources/Private/Language/locallang.php', 'List', 'EXT:calendarlist/Resources/Public/Icons/Extension.svg' ); // Controller‑Zuweisung – immer die volle Klassenbezeichnung! \TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin( 'Vendor', 'Calendarlist', [ 'Event' => 'Vendor\\YourExtension\\Controller\\EventController', ], // optional: Standard‑Action‑Mapping [ 'Event' => 'Event', ] ); -
Keine dynamischen Controller‑Namen
Falls der Controller‑Name aus einer Request‑Variable (z. B.tx_calendarlist_plugin[controller]) stammt, muss dieser vorher geprüft werden, z. B. per Whitelist:$allowedControllers = ['EventController', 'DefaultController']; $controller = $GLOBALS['TYPO3_CONF_ARRAY']['EXTCONF']['vendor']['calendarlist']['controller'] ?? ''; if (!in_array($controller, $allowedControllers)) { // fallback oder Fehlermeldung } -
Cache leeren
Nach Änderung der Extension‑Konfiguration den TYPO3‑Cache (PHP‑ und HTML‑Cache) leeren, damit die neue Plugin‑Definition wirksam wird. -
Sicherheits‑Check
Prüfen, ob irgendwo in der Extension (z. B. in eigenenpi1‑ odercontroller‑Methoden)registerPluginbzw.configurePluginmit benutzer‑kontrollierten Werten aufgerufen wird. Entfernen oder streng sanitieren dieser Aufrufe.
3. Betroffene TYPO3‑Extension
Die Fehlermeldung nennt explizit den Plugin‑Namen „Calendarlist“. Damit ist die Extension mit dem Schlüssel calendarlist gemeint (z. B. die Extension calendarlist von In2bit bzw. einer ähnlichen Kalender‑Liste‑Erweiterung).
4. Confidence
96 % – Die Analyse basiert auf den typischen Ursachen von InvalidControllerNameException in TYPO3 (unsaubere Plugin‑Registrierung) und dem eindeutigen Hinweis im Exception‑Message.
Nichts anzuzeigen