Projekt

Allgemein

Profil

Aktionen

Bug #172

offen

[Bugsink] TYPO3\CMS\Extbase\Mvc\Exception\InvalidControllerNameException: The controller "Event' UNION ALL SELECT 'dhzgcrrjjgfppcafkfgruqswmuaobsur'-- 5ax985" …

Von Bug Sink vor etwa 1 Monat hinzugefügt.

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 InvalidControllerNameException auslö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 einer type‑Einschränkung (z. B. type="select" mit vordefinierten Optionen) ergänzt werden.
  • 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

Auch abrufbar als: Atom PDF