Sicherheitsupdates

„Keine Software ist total fehlerfrei“

… und das gilt leider auch für das Contao CMS.

In den letzten Jahren wurde die ein oder andere Sicherheitslücke in Contao entdeckt. Hier stellen wir euch die Sicherheitslücken kurz vor und bieten euch gleichzeitig Updates für ältere Contao Installationen an.

Die Sicherheitslücken

VersionVeröffentlichungBeschreibung
soa10.02.2014Unserialize-Object Angriff, siehe #6695
soa-hardening13.02.2014Backport Hardenings aus 3.2.7/2.11.16 in ältere Versionen.
xss17.02.2014Backport potentielle XSS Lücke von 2.10.2 in ältere Versionen.
moo18.02.2014Update Mootools Core+More auf 1.3.2.
(Dies ist kein Sicherheitsupdate, sondern ein Kompatibilitätsupdate)
xss225.11.2014Backport XSS Lücke aus 3.3.7/3.2.16 in ältere Versionen.
dt25.11.2014Backport potentielle Directory-Traversal-Sicherheitslücke aus 3.3.7/3.2.16 in ältere Versionen.

In unseren Updates hängen wir die integrierten Patches an die Version ran. Wenn Ihr eines unserer Updates einspielt, dann ändert sich eure Versionsnummer wie folgt: 3.1.5-cca.soa.soa-hardening. Diese Version beinhaltet die Bugfixes soa und soa-hardening. Sollte ein Bugfix aus der obrigen Liste nicht in der Versionsnummer zu finden sein, dann benötigt ihr ggf. ein Update. Aber nicht alle Bugfixes sind für alle Contao Versionen relevant!

Update für ältere Contao Versionen

Achtung/Haftungsausschluss

Die Benutzung dieser Bugfix-Versionen geschieht auf eigene Gefahr. Sie wurden von uns getestet und geprüft. Aber es kann immer sein, das sich ein Fehler eingeschlichen hat. Deswegen wird (wie immer) angeraten, ein Backup der Installation vor dem Einspielen vorzunehmen.

Bitte beachtet weiterhin, dass dies inoffizielle Patch-Files sind und somit vom Contao Core Team nicht supported werden!

Wir empfehlen dennoch, wenn möglich, auf die LTS-Versionen von Contao zu aktualisieren. Durch unsere Patch-Files könnt ihr mit dem Kunden gemeinsam die Sache beruhigter angehen und genau planen wie ihr das Update auf die die neueste Version vornehmt.

Contao 3.x

Contao 2.x

Typolight 2.x

Anwendungsbeispiele:

Fall 1: Wenn Ihr Contao 2.10.3 habt, dann solltet Ihr die Komplettinstallation von uns nehmen und damit direkt ein Update auf Contao 2.10.4 durchführen.
 
Fall 2: Ihr habt bereits die Version 2.10.4, dann müsst Ihr lediglich die jeweiligen Patch-Files per FTP in Eure Contao-Installation kopieren.

Einen Kommentar schreiben

  1. Kommentar von Alex |

    Hallo zusammen,

    werdet Ihr auch einen Patch für 3.2.21 zur Verfügung stellen?

    Danke&Gruß Alex

    Antwort von Nicky Hoff

    Hallo Alex,

    einen Fix werden wir nicht zur Verfügung zu stellen.

    In Contao 3.2.21 wird der Swiftmailer in Version 5.2 benutzt - aktuell wäre die Version 5.4.5 (inkl. Patch). Eine Variante wäre es, die Version manuell zu aktualisieren. Dazu kann man den Inhalt des Verzeichnisses system/modules/core/vendor/swiftmailer in Contao 3.2.21 mit dem Inhalt der aktuellen Version vom Swiftmailer auf Github aus /lib ersetzen. Ob das funktioniert, können wir aber leider nicht sagen.

    fg
    nicky

  2. Kommentar von Lufine |

    Danke für das 2.11.17 Update!

    Funktioniert soweit einwandfrei, allerdings werden (scheinbar) nach dem Update die Dateirechte beim Upload über die Dateiverwaltung nicht mehr richtig vergeben. Im FTP-Programm wird 00 angezeigt und die Datei lässt sich daher im Frontend auch nicht öffnen.

    Antwort von Marc Reimann

    Hallo Lufine,

    das passiert, wenn man eine ältere 2.11er Version mit dem Patch versorgt. In einer Version ist hinzugekommen, das man in der Localconfig die Berechtigungen setzten kann. Wenn man das nicht macht, bekommen alle Dateien gar keine. Abhilfe schaffen diese zwei Zeilen in der system/config/localconfig.php

    $GLOBALS['TL_CONFIG']['defaultFileChmod'] = 0644;
    $GLOBALS['TL_CONFIG']['defaultFolderChmod'] = 0755;

  3. Kommentar von herr rilke |

    zu #16 von Frank:
    den Fehler "... Environment.php on line 506" bekam ich auch in einer PHP 5.3 version (bei Strato) nach einem Update auf 2.11.17.

    Die Umstellung auf PHP 5.5 war da die Lösung.

    HTH & vielen Dank für die Patches!

  4. Kommentar von tinoo |

    Moin! Und danke für die Patches! :-) Jetzt bekomm ich aber beim Liveupdate die Meldung: Beta-Versionen können nicht per Live Update aktualisiert werden.

    Ist das korrekt so?

    Antwort von Nicky Hoff

    Hallo tinoo,

    ja ... das ist so korrekt. Leo muss ja wissen, von welcher Version man kommt. Dies stellt er aber nur für numerische Versionen bereit, sonst wäre der Check extremst aufwändig.

    fg
    nicky

  5. Kommentar von Monique |

    Danke, ihr seid klasse!!! <3

  6. Kommentar von Claudia.R |

    Vielen Dank - Ihr seid einfach spitze!

  7. Kommentar von Ray |

    Vielen Dank! Bin schon fleißig am fixen :)

    Spricht etwas dagegen die Patchfiles der 3.2.15 über eine 3.2.8 zu spielen? Ein Komplettupdate möchte ich (noch) nicht machen.

    Antwort von Marc Reimann

    Ne, das ist keine so gute Idee. Da wirst du mindestens auf die aktuellste 3.2. updaten müssen. Sollte aber auch eigentlich kein Problem sein ;-)

    Viele Grüße

  8. Kommentar von Frank |

    Hallo

    Ich bekomme in einer 2.17-Installation einen Fehler:

    Parse error: syntax error, unexpected T_FUNCTION in /XXX/XXX/XXX/contao/system/libraries/Environment.php on line 506

    Antwort von Tristan Lins

    Da die Patches von neueren Versionen runter geported wurden, wird hier eine anonyme Funktion verwendet. Anonyme Funktionen sind aber erst seit PHP 5.3 verfügbar. Ein Wechsel auf PHP 5.3 oder neuer sollte das Problem beheben und ist auch dringend empfohlen. PHP 5.2 (was ja für Contao 2.11 Mindest-Voraussetzung war) wird schon seit Jahren nicht mehr gepflegt.

    MfG Tristan

  9. Kommentar von P.Ellinger |

    Daaaaaaaaanke!!!

  10. Kommentar von Bjarke |

    Ein riesen Dankeschön an die Contao Community Alliance!

  11. Kommentar von Alex |

    Das war tatsächlich das Problem, jetzt funktioniert wieder alles. Herzlichen Dank für den Tipp!! Die install.php aus diesem Paket muss ich aber trotzdem wieder löschen, oder? ;)

    Antwort von Nicky Hoff

    Hallo Alex,

    na das klingt doch super. Ja, die install.php musst du trotzdem löschen.

    fg
    nicky

  12. Kommentar von Alex |

    Hallo zusammen, nach der Installation des 2.9.5-cca-soa-hotfix2 ist mir bei einigen Seiten aufgefallen, dass Akkordeons im FE nicht mehr funktionieren. Ist mir das jetzt nur zufällig nach dem Patch aufgefallen oder könnte es da einen Zusammenhang geben?

    Antwort von Nicky Hoff

    Hallo Alex,

    ich denke eher nicht, dass es an den Patchfiles lag, sondern eher an einer veralteten Mootools-Version. Aber per Ferndiagnose ganz schlecht zu beurteilen!

    fg
    nicky


    Es liegt definitiv an der in Contao 2.9 mitgelieferten MooTools Version, die ist vorwiegend mit aktuellen Firefox Versionen inkompatibel.

    MfG Tristan


    Nachtrag: Die Version Contao 2.9.5-cca.soa.soa-hardening.xss.moo liefert sogar eine aktualisierte Mootools Version mit ;-)

    MfG Tristan


    Hab gerade noch mal nachgeschaut bei einer Installation von mir. Das Problem kann ich so auch nicht nachstellen. Funktioniert bei mir ohne Probleme.

    Viele Grüße Marc

  13. Kommentar von Sebbo |

    Habe die Lösung für TL 2.8 gefunden! Im Update-Paket "Typolight 2.8.4-cca.soa.soa-hardening.xss.moo (Komplett-Installation inkl. Patch-Files)" ist die Datei system/libraries/Input.php nicht richtig. Die Funktionen resetCache() und stripSlashes($varValue) sind doppelt deklariert bzw. wurden die alten Versionen nicht entfernt. Es müssen daher in dieser Datei die Funktion resetCache() (Zeile 369) und stripSlashes($varValue) (Zeile 380) entfernt werden. Danach funktioniert ein Update auf die gefixte 2.8.4 ohne Probleme!

    Antwort von Marc Reimann

    Hallo Sebbo,

    vielen Dank für die Info. Wir haben das Patch-Set direkt angepasst!

  14. Kommentar von Sebbo |

    Ich habe noch eine alte Typolight 2.8.3 am laufen, die ich gerade mit dem Patch fixen wollte. Zuerst habe ich mit der 2.8.4 Komplettinstallation von hier ein Update gemacht. Leider wird dann bei Aufruf der install.php, des Frontends und des Backends folgender Fehler angezeigt:
    Fatal error: Cannot redeclare Input::resetCache() in xxx/htdocs/xxx/system/libraries/Input.php on line 369
    Habe danach das 2.8.3-Backup wieder eingespielt und einen zweiten Versuch gemacht: Update auf die offizielle ungepatchte Version 2.8.4 - das hat funktioniert. Dann habe ich die "NUR Patch-Files für Typolight 2.8.4" von hier eingespielt. Bei Aufruf der install.php wird man dann auf die Seite contao/install.php weitergeleitet, die es bei TL 2.8 noch gar nicht gibt! Aufruf des Frontends und des Backends führt wieder zu obiger Fehlermeldung.

    Also passt leider etwas nicht an den Patches für TL 2.8. Könnt Ihr Euch das bitte nochmal anschauen?

    By the way: 1000 Dank für Eure tolle Arbeit und die Bereitstellung der Patches!!!

    Antwort von Marc Reimann

    Hallo Sebbo,

    da ist wirklich etwas total durcheinander geraten. Ist jetzt behoben!

    Vielen Dank für die Infos zu dem Problem.

  15. Kommentar von name |

    Vielen Dank! Hat mir eine Menge Arbeit erspart.

  16. Kommentar von Sebastian |

    Vielen Dank erstmal für Eure Arbeit! Ganz großes Kino!

    Ich habe eine Contao Installation 2.10.4 und habe bereits die ersten Patches am 11.02. installiert. Nachdem nun am 12.02. herauskam dass die Updates in 2.11.14, 2.11.15 und 3.2.5 sowie 3.2.6 noch nicht reichen um die Lücke zu schließen bin ich jetzt etwas ratlos. Reicht die Installation der Patches von 2.10.4 oder muss ich auf 2.11 updaten (was ich allerdings aufgrund eines Zusatzmoduls nicht ungern machen will)?

    Antwort von Tristan Lins

    Wir haben alle unsere Patchsets aktualisiert. Du kannst also unsere 2.10.4 noch mal einspielen und hast dann auch die jüngsten Updates drin.

  17. Kommentar von Chris |

    @Sven: Handelt es sich um vernünftig (d.h. in OOP geschriebene) Dateien, dann kann das PHP-End-Tag ohne Probleme weggelassen werden.

  18. Kommentar von Tristan Lins |

    @Sven die sind absichtlich entfernt worden und hat keine Nachteile für dich.

  19. Kommentar von Sven |

    Vielen Dank.
    Bei manchen Dateien fehlen allerdings die schließenden ?>
    z.B. 2.10.4 constants.php

  20. Kommentar von Tristan Lins |

    Gleiches gilt natürlich auch für die 2.11.13 ;-)

  21. Kommentar von Tristan Lins |

    Die 3.2.5, 3.2.6 und 3.2.7 beinhalten abgesehen von den Sicherheitsupdates auch kleinere Korrekturen. Unsere Version basiert auf der 3.2.4 und beinhaltet ALLE Sicherheitspatches aus der 3.2.5, 3.2.6 und 3.2.7, aber nur die Sicherheitspatches.

  22. Kommentar von fritzmg |

    Haben die hier aufgelisteten Backports auch die neuesten Fixes aus Contao 3.2.7 drin? Denn hier wird immer noch nur Contao 3.2.4 gelistet.

  23. Kommentar von Alex |

    Tausend Dank für die Backports!!! Echt!

    Die Bereitschaft, auch Fixes für ältere Versionen bereitzustellen, ist etwas, das ich beim offiziellen Core-Team immer schmerzlich vermisse.

    Aber noch eine kleine Frage am Rande: Die XSS-Schwachstelle, die ursprünglich in der 2.9.5 enthalten war, hat sich jetzt mit diesem Hotfix nicht wieder eingeschlichen, oder? ;)