Bug #165
offen[Bugsink] TYPO3\CMS\Extbase\Mvc\Exception\InvalidControllerNameException: The controller "1' AND 1=1 UNION SELECT NULL-- -" is not allowed by plugin "Calendarl…
0%
Beschreibung
Bugsink: https://bugsink.cytrus.de/issues/issue/8fe06675-93c0-4639-973a-40fc737987c6/event/last/
Typ: NEW issue
Projekt: www-rietberg-de
Bugsink Alert
TYPO3\CMS\Extbase\Mvc\Exception\InvalidControllerNameException: The controller "1' AND 1=1 UNION SELECT NULL-- -" is not allowed by plugin "Calendarl…
Automatisch erstellt durch n8n
KI-Analyse:
Hier ist die präzise Analyse aus Sicht eines Senior TYPO3 Entwicklers:
1. Ursache identifizieren¶
Es handelt sich hierbei nicht um einen Bug im Code, sondern um einen gezielten SQL-Injection-Angriffsversuch von außen.
Ein Angreifer hat versucht, über einen URL-Parameter (wahrscheinlich tx_calendarlist_pi1[controller]) einen SQL-Payload einzuschleusen:
1' AND 1=1 UNION SELECT NULL-- -
Warum die Exception geworfen wurde:
TYPO3 Extbase verfügt über einen integrierten Sicherheitsmechanismus. In der ext_localconf.php wird über ExtensionUtility::configurePlugin() definiert, welche Controller für ein Plugin zulässig sind (Whitelist). Da der SQL-Injection-String offensichtlich nicht in der Liste der erlaubten Controller der Extension Calendarlist steht, bricht Extbase die Ausführung mit einer InvalidControllerNameException ab.
Das System hat also genau so funktioniert, wie es soll: Der Angriff wurde blockiert.
2. Fix beschreiben¶
Da es sich um einen externen Angriff handelt, gibt es keinen "Bug" im Sinne von fehlerhaftem PHP-Code zu beheben. Dennoch sollten folgende Maßnahmen ergriffen werden:
-
Keine Code-Änderung nötig: Die
InvalidControllerNameExceptionist das gewünschte Sicherheitsverhalten von Extbase. - Logging/Monitoring: Diese Fehler sollten in den Log-Files (z.B. Apache/Nginx oder TYPO3 Logs) überwacht werden. Eine hohe Anzahl solcher Requests deutet auf einen automatisierten Scanner hin.
-
Web Application Firewall (WAF): Um zu verhindern, dass solche Requests überhaupt den PHP-Prozess erreichen und Serverressourcen verbrauchen, sollte eine WAF (z.B. ModSecurity, Cloudflare oder eine Hardware-Firewall) vorgeschaltet werden, die typische SQL-Injection-Pattern (
UNION SELECT, etc.) bereits auf HTTP-Ebene blockt. -
Fehlerhandling: Sicherstellen, dass in der Produktionsumgebung
displayErrors = 0gesetzt ist, damit der Angreifer keinen Stacktrace sieht, aus dem er Informationen über die Serverstruktur ableiten könnte.
3. Betroffene TYPO3 Extension¶
Die Extension Calendarlist.
(Der Angreifer hat gezielt das Plugin dieser Extension adressiert).
4. Confidence¶
100%
Nichts anzuzeigen