Typo3 ist eines der erfolgreichsten Content-Management Systeme. Das Open Source System ist weit verbreitet und hat eine große Entwickler-Community, die Bugs behebt und Schwachstellen ausmerzt.
Das Kernsystem hat Sicherheitsaudits bestanden und wird unter anderem auch von Banken für deren Internet-Auftritt verwendet. Alles Sicher, alles Bestens könnte man meinen.
Denkste. Die besten Sicherheitsaudits und Community-Reviews taugen nichts, wenn das Qualitätsmanagement leicht ausgehebelt werden kann. In Typo3 geschieht dies durch “Extension”, Erweiterungen des Kernsystems, die die Entwickler-Community über den Extension-Manager miteinander austauschen.
So beschreibt der TYPO3 Security Blog, wie leichtfertig einige TYPO3-Anwender mit einer Sicherheitslücke bei der Erweiterung “ftp-Brower” umgehen:
€œftpbrowser€ wurde insgesamt über 4500 mal aus dem TER heruntergeladen – der zugehörige Security Fix bis heute (10 Tage nach dem Bulletin) aber nicht mal 100 mal! Und €œfechangepassword€ sowie €œcivserv€ weisen ähnlich schlechte Raten auf.
Neben den Mängeln im Update-Verfahren, gibt es ein generelles Problem in der Nutzung der Extension-Repository.
Denn im Gegensatz zum Systemkern, finden bei den beigesteuerten Erweiterungen nur selten intensive Code-Reviews durch die Community statt. Es gibt auch kein angewandtes Qualitätsmanagement, welches die Aufnahme einer Erweiterung in das Repository standardisiert überwacht und regelt.
Die Folge: das Repository beinhaltet Unmengen von Erweiterungen, von den einen Großteil sich durch lückenhafte Dokumentation der Programmierung auszeichnen. Zudem gibt es zahlreiche Forks von Erweiterungen, anstatt die Sourcebasis einer Erweiterung über Versionsmanagement zu verwalten.
Und nur das Denkmodell einer böswillig eingeschleusten Schadsoftware in einer niedlichen Extension ist beunruhigend. Wo keine Kontrolle stattfindet, ist die Versuchung groß…
Es herrscht also Chaos im Extension-Repository. Ein gefährliches Chaos. Denn eine schlecht programmierte Erweiterung kann dazu führen, dass das TYPO3-System kompromittiert wird. Eine Schwachstelle in einer Erweiterung ist unter Umständen auch eine Schwachstelle in TYPO3.
Doch was tun?
Zunächst muss man bei der Einbindung von Erweiterungen aus dem TYPO3 Repository Vorsicht walten lassen. Entwickler sollten sich denSourcecode der verwendeten Extension genau anschauen.
Innerhalb der TYPO3 Community muss für das Repository ein QM Prozess definiert werden. Unter Umständen führt dies, dazu das Erweiterungen die den Qualitätsstandard nicht erfüllen als “unsicher” gekennzeichnet werden müssen. Doch um dies zu bewerkstelligen braucht die Community Manpower um Reviews durchzuführen.
Wurde eine Schwachstelle in einer Extension entdeckt, müsste diese Nachricht per Feed automatisch in das Backend von Typo3 eingeblendet werden. Wenn ein Administrator deutlich zum Update aufgefordert wird, kann er zur Tat schreiten. In diesem Punkt finde ich die Update-Information bei WordPress sehr gut gelöst.
An diesem Punkt muss die Diskussion in der Community fortgeführt werden. In der Zwischenzeit heißt es für Entwickler: schau Dir die Extension sehr genau an, die du verwenden möchtest.