Magento 2.4.3-p1 erschien am 12. Oktober 2021. Zeitgleich erschien die Version für die ältere Release-Line, Magento 2.3.7-p2.
Bei beiden handelt es sich, wie am Jahresende bei Adobe üblich, um reine Security-Releases, damit in der Vorweihnachtszeit keine großen Update-Arbeiten erforderlich sind. Außerdem enthält 2.4.3-p1 zwei Hotfixes, die für Magento 2.4.3 nachträglich als Patches veröffentlicht worden sind.
Eine vollständige Liste der Änderungen findet man in den Release Notes. Diesmal wurden die Release-Notes für Magento Open Source und Adobe Commerce zusammengefasst. Das Ankündigungs-Posting für Magento 2.4.3-p1 finden Sie hier. Details zu den Sicherheitslücken gibt es im Adobe Security Bulletin.
Der Blog-Post von Adobe enthält auch:
- Neuigkeiten in den losgelösten Modulen Product Recommendations, Live Search und in PWA Studio.
- Eine Ankündigung zu Adobes Payment Services, die im vierten Quartal in Nordamerika starten.
- Außerdem wird „Asynchronous (High Throughput) Order Processing“ angekündigt. Hier soll es für Kunden, die richtig große Anzahlen an Bestellungen haben, durch eine asynchrone Bestell-Verarbeitung der Durchsatz stark erhöht werden. Das Feature ist gerade im Beta-Status und wird im Dezember – als externer Service bzw. externes Modul – veröffentlicht.
Inhaltsverzeichnis
Security-Fixes in Magento 2.4.3-p1
Insgesamt werden sieben Sicherheitslücken behoben. Nur eine der Lücken wurde von Extern an Adobe berichtet. Die restlichen hat Adobe selbst gefunden.
Wie bei allen bisherigen Security-Releases hat Adobe die „Priorität 2“ vergeben. Das bedeutet: Man sollte das Patch-Release „bald“ einspielen. Dafür nennt Adobe als Beispiel „in den nächsten 30 Tagen“. Es handelt sich also um ein nicht extrem dringendes Update (Priorität 1 würde ein Update in den nächsten 3 Tagen empfehlen).
Es gibt nur für die extern berichtete Lücke eine Einstufung im Security Bulletin. Es handelt sich um eine potenzielle Cross-Site Request Forgery (CSRF), für die keine Admin-Privilegien benötigt werden.
Folgende sicherheitsbedingte Änderungen listet Adobe (Übersetzung der englischen Original-Texte von mir):
- Session-IDs wurden aus der Datenbank entfernt. Diese Code-Änderung kann zu Fehlern führen, wenn Händler Anpassungen oder Erweiterungen installiert haben, die die in der Datenbank gespeicherten „rohen“ Session-IDs verwenden.
- Eingeschränkter Admin-Zugriff auf Mediengalerie-Ordner. Die Standardberechtigungen für die Mediengalerie erlauben jetzt nur noch Verzeichnisoperationen (Anzeigen, Hochladen, Löschen und Erstellen), die in der Konfiguration ausdrücklich erlaubt sind. Admin-Benutzer können nicht mehr über die Mediengalerie auf Medieninhalte zugreifen, die außerhalb der Verzeichnisse „catalog/category“ oder „wysiwyg“ hochgeladen wurden. Administratoren, die auf Medieninhalte zugreifen möchten, müssen diese in einen explizit erlaubten Ordner verschieben oder ihre Konfigurationseinstellungen anpassen. Details gibt es in Modify Media Library folder permissions
- Die Grenzen für die Komplexität von GraphQL-Abfragen wurden gesenkt. Die maximal zulässige GraphQL-Abfragekomplexität wurde gesenkt, um Denial-of-Service (DOS)-Angriffe zu verhindern. Siehe GraphQL security configuration.
- Aktuelle Schwachstellen aus Penetrationstests wurden in dieser Version behoben.
- Die „Content Security Policy“-Direktive frame-ancestors unterstützt nun die Source-Expression unsafe-inline.
API rate Limit erhöht
Wie erwähnt enthält Magento 2.4.3-p1 auch zwei Hotfixes, die nachträglich für 2.4.3 als Patch veröffentlicht wurden.
Der erste Hotfix war MC-43048__set_rate_limits__2.4.3.patch. Hier geht es darum, dass in Magento 2.4.3 bei Web-API-Aufrufen die Anzahl der Ergebnisse standardmäßig auf 20 beschränkt wurden. Das reicht häufig nicht, und deswegen wurde der Standardwert mit dem Patch wieder höher gesetzt.
Fehler „Call to undefined function Magento\Framework\Filesystem\Directory\str_contains“ behoben
Der zweite Hotfix war AC-384__Fix_Incompatible_PHP_Method__2.4.3_ce.patch. In 2.4.3 wurde die PHP 8.x-Funktion „str_contains“ verwendet, aber PHP 8 wird von Magento 2.4.3 noch gar nicht offiziell unterstützt.
Das führte zu dieser Fehlermeldung:
PHP Fatal error: Uncaught Error: Call to undefined function Magento\Framework\Filesystem\Directory\str_contains() in [...]/magento/vendor/magento/framework/Filesystem/Directory/DenyListPathValidator.php:74
str_contains wurde durch eine in PHP 7 vorhandene Funktion ersetzt.