Wir bei A1 Digital sind stets bemüht, die Sicherheit im Internet zu erhöhen. Das ist auch der Grund, warum wir im Zuge eines internen Research Projekts nach kritischen Schwachstellen in bekannten Content Management Systemen gesucht haben. Der Fokus dabei lag auf Systemen aus der DACH Region.
Eines der getesteten Systeme war Contao, ein auf PHP basierendes CMS und OpenSource Projekt.
Contao hat über 1 Million Downloads und wird vor allem in Deutschland und Österreich eingesetzt. Laut Wappalyzer gibt es über 11.000 aktive Installationen.

Im Zuge unserer Untersuchungen konnten wir eine authentifizierte SQL-Injection Schwachstelle identifizieren, welche für Benutzer mit „File-Manager“ Rechten ausgenutzt werden kann.
Folgender Code in der Datei core-bundle/src/Resources/contao/drivers/DC_Folder.php war anfällig:

contao-sqli-1.png

Der Wert $strField wird dabei von dem POST Parameter tl_field übernommen.

Folgender HTTP-Request könnte zum Ausnützen der Schwachstelle genutzt werden:

contao-sqli-3.PNG

Das Problem betrifft alle Contao-Versionen ab Contao 4.1 und wurde in Contao 4.4.39 sowie Contao 4.7.5 behoben. Contao gab die Behebung der Schwachstelle in einem News-Beitrag bekannt. Der Schwachstelle wurde die CVE-2019-11512 zugewiesen.

Die Behebung der Schwachstelle seitens des Contao Security Teams verlief reibungslos und rasch – da dies nicht selbstverständlich ist, wollen wir das hiermit nochmal unterstreichen.

Wir werden auch weiterhin Research und Responsible Disclosure betreiben, um das Internet Tag für Tag ein wenig sicherer zu machen.

Time Line

  • 24.04.2019 09:50 – Melden der Schwachstelle via security@contao.org
  • 24. April 2019 10:25 – Antwort und Bestätigung
  • 30.04.2019 08:40News-Artikel auf contao.org + Update, welches die Schwachstelle beseitigt