Aktionen
Bug #172
offen[Bugsink] TYPO3\CMS\Extbase\Mvc\Exception\InvalidControllerNameException: The controller "Event' UNION ALL SELECT 'dhzgcrrjjgfppcafkfgruqswmuaobsur'-- 5ax985" …
Status:
Neu
Priorität:
wichtig
Zugewiesen an:
-
Beginn:
08.09.2026
Abgabedatum:
% erledigt:
0%
Geschätzter Aufwand:
Beschreibung
Bugsink: https://bugsink.cytrus.de/issues/issue/58e5bdf7-3ecf-4ea2-81b1-fb1fee628b34/event/last/
Typ: NEW issue
Projekt: www-rietberg-de
Bugsink Alert
TYPO3\CMS\Extbase\Mvc\Exception\InvalidControllerNameException: The controller "Event' UNION ALL SELECT 'dhzgcrrjjgfppcafkfgruqswmuaobsur'-- 5ax985" …
Automatisch erstellt durch n8n
KI-Analyse:
1. Ursache identifiziert
- Der Fehler entsteht, weil der Plugin‑Aufruf (z. B. über eine URL‑Parameter‑ oder Flexform‑Variable) den Namen des Controllers „Event' UNION ALL SELECT 'dhzgcrrjjgfppcafkfgruqswmuaobsur'-- 5ax985“ übergibt.
- Dieser String ist kein legitimer Controller‑Name, sondern ein SQL‑Injection‑Payload, der durch unzureichende Validierung des Plugin‑Parameters (z. B.
tx_calendarlist_plugin[controller]) in die Controller‑Auflösung gelangt. - Das Extension‑Plugin „Calendarlist“ prüft den Controller‑Namen nicht gegen eine Whitelist, sodass die fehlerhafte Eingabe den Ausnahme‑Throw
InvalidControllerNameExceptionauslöst.
2. Fix beschrieben (konkret)
-
Whitelist‑Prüfung im Plugin‑Registrierungs‑Hook (
ext_localconf.php):use TYPO3\CMS\Extbase\Utility\ExtensionUtility; ExtensionUtility::configurePlugin( 'Vendor.Calendarlist', 'Default', [ 'Controller' => [ // nur die zulässigen Controller‑Namen zulassen 'Event' => 'Vendor\Calendarlist\Controller\EventController', 'List' => 'Vendor\Calendarlist\Controller\ListController', // … weitere zulässige Controller ], ], [ 'Controller' => 'Vendor\Calendarlist\Controller', ] );- Alternativ kann in der Flexform‑Definition ein
controller‑Parameter mit einertype‑Einschränkung (z. B.type="select"mit vordefinierten Optionen) ergänzt werden.
- Alternativ kann in der Flexform‑Definition ein
-
Input‑Sanitization: Vor der Weiterleitung des Requests den Controller‑Namen explizit mit
preg_match('/^[a-zA-Z_\x{0080}-\x{FFFF}]+$/', $controllerName)prüfen und bei Nicht‑Übereinstimmung eine klare Fehlermeldung (Invalid controller name) ausgeben. -
Fallback‑Logik: Wenn kein gültiger Controller gefunden wird, auf eine Standard‑Action (z. B.
index) umleiten oder eine 404‑Antwort zurückgeben.
3. Betroffene TYPO3 Extension
- Extension‑Key:
calendarlist(Plugin‑Name „Calendarlist“).
4. Confidence (0‑100 %)
- 95 % – Die Analyse basiert auf dem klaren Hinweis im Exception‑Message (Controller‑Name‑Injection) und den üblichen Vorgehensweisen von Extbase‑Plugins zur Controller‑Whitelist.
Nichts anzuzeigen
Aktionen