Magento 2.3.4

Magento 2.3.4 wurde Dienstag, den 28. Jänner 2020 veröffentlicht. Diese Version bringt neue Features, behebt 30 Sicherheitslücken und 220 funktionale Fehler.

Alle Details finden Sie in den Release-Notes für Open Source und Commerce sowie im offiziellen Blog-Post.

Sicherheit

Die Lücken sind erstmals im Adobe Security Bulletin dokumentiert.

Wie kritisch sind die Lücken, die Magento 2.3.4 behebt?

Zum ersten Mal veröffentlicht Adobe selbst eine Gesamteinstufung für das Versions-Update. Der Code für das zugehörige Adobe Security Bulletin ist APSB20-02 und die Einstufung erfolgte mit „Priorität 2“.

Und was heißt Priorität 2 bei Adobe?

This update resolves vulnerabilities in a product that has historically been at elevated risk. There are currently no known exploits. Based on previous experience, we do not anticipate exploits are imminent. As a best practice, Adobe recommends administrators install the update soon (for example, within 30 days).

https://helpx.adobe.com/security/severity-ratings.html

Es ist also nicht bekannt, dass eine der Lücken aktiv ausgenutzt wird und Adobe geht nicht davon aus, dass die Lücken sehr bald ausgenutzt werden. Man sollte das Update dennoch demnächst vornehmen.

Wichtige Änderung bei Custom Layout Updates

Auf CMS-Seiten, Kategorieseiten und Produktseiten gab es bisher ein freies Textfeld, in dem man mit XML Layout-Update-Anweisungen für einzelne Seiten schreiben konnte.

Scheinbar ist das Magento zu brenzlig geworden: ab dieser Version gibt es nur noch ein Dropdown-Feld. Darin kann man Layout-Updates auswählen, die zuvor von ProgrammiererInnen in XML-Dateien im Dateisystem vordefiniert wurden.

Der Grund ist, dass bösartige User, die Admin-Rechte erlangen, mit Layout-XML auch Code-Funktionen aufrufen konnten, die dafür so vielleicht gar nicht gedacht und damit auch nicht ausreichend abgesichert waren. Das öffnet die Tür für Angriffe über Remote Code Execution (RCE) bzw. Server Side Template Injection (SSTI).

Die aktuelle Implementierung bietet Herausforderungen für ProgrammiererInnen, wenn ihre HändlerInnen das Feature umfangreich einsetzen: die Layout-XML-Datei muss die Kategorie-/Produkt-ID bzw. den CMS-URL-Key im Dateinamen enthalten. Wird das gleiche Update vielfach verwendet, muss man also mit Dateikopien oder eventuell Symlinks arbeiten. Ändert sich der URL-Key, steht das Layout-Update vielleicht nicht mehr zur Verfügung. Ob das wirklich so ist, wird die Praxis zeigen.

Max Chadwick setzt sich in einem Blog-Post im Detail mit der Änderung auseinander.

Auswirkung für bestehende CMS-/Kategorie-/Produktseiten

Ist auf einer Seite bereits ein spezielles Layout-XML definiert worden, dann funktioniert die Seite weiterhin. Statt einer Liste an Layout-Updates hat man die Möglichkeit, den bisherigen Inhalt weiter zu verwenden („Use existing“) oder das Layoute-Update zu deaktivieren („No update“).

Alternative zu 2.3.4 als schneller Fix: 2.3.3-p1 (2.3.3.1)

Mit Magento 2.3.4 werden nicht nur Sicherheitsprobleme behoben, sondern auch neue Features und andere Fehlerbehebungen mitgeliefert. Den Shop für die neue Version fit zu machen, bringt wegen der umfangreichen Code-Änderungen aber auch erhöhten Zeitbedarf für Tests und Code-Anapassungen mit sich.

Wer diese Zeit im Moment nicht investieren kann oder will, hat als Alternative das „Security-only Patch Release“ 2.3.3.1 bzw. 2.3.3-p1. Sie enthält nur die Fixes für die Sicherheitslücken und fällt damit im Umfang wesentlich kleiner aus.

Features

Das sind neue Features in 2.3.4:

  • Die Integration von Adobe Stock, wodurch man direkt aus dem Magento-Backend in Adobes umfangreicher Stock-Photo-Plattform stöbern kann.
  • Customer-Live-Chat-Funktion von dotdigital mit einem kostenlosen Chat-Agenten.
  • PWA Studio unterstützt nun Page Builder Inhalte (nur relevant für Commerce Verison)
  • GraphQL bildet weitere Teile des Core-Funktionsumfanges ab.
  • Einige Performance-Verbesserungen.

Alle Details finden Sie in den Release-Notes für Open Source und Commerce.

Zu beachtende Änderungen

Punkte, auf die man achten sollte:

  • die oben erwähnte Einschränkung bei XML-Layout-Updates
  • eine neue Konfigurations-Option deaktiviert standardmäßig das Sammeln von Report-Statistiken zur Verbesserung der Performance
  • Beim Google reCAPTCHA wid laut Berichten der Standard-Typ auf „Invisible reCAPTCHA v3“ umgestellt, wodurch es zu Problemen in d er Verarbeitung kommen kann.

Kompatibilität mit PHP 7.1?

Im Composer-File ist PHP 7.1 weiterhin als eine der kompatiblen Versionen gelistet. Im Changelog weist Magento jedoch darauf hin, dass nicht mehr mit PHP 7.1 getestet wurde, weil PHP 7.1 das End of Life im Dezember 2019 erreicht hat.

Um sicherzugehen, sollte man also auf eine der aktiv unterstützten PHP-Versionen (7.2 oder 7.3) updaten.

Neu unterstützte Software-Versionen

2.3.4. unterstützt nun:

  • RabbitMQ 3.8
  • Redis 5.0.6
  • MariaDB 10.2