Projekt

Allgemein

Profil

Aktionen

Bug #175

offen

[Bugsink] TYPO3\CMS\Extbase\Mvc\Exception\InvalidControllerNameException: The controller "Event%' AND EXTRACTVALUE(9461,CONCAT(0x7e,((SELECT (ELT(9461=9461,1))…

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/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
    In ext_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 eigenen pi1‑ oder controller‑Methoden) registerPlugin bzw. configurePlugin mit 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

Aktionen

Auch abrufbar als: Atom PDF