
Magento 2 Patch für CVE-2022-24086, CVE-2022-24087. Behebt die RCE-Schwachstelle und zugehörige Fehler durch tiefgehendes Escapen von Template-Variablen. Falls Sie Magento nicht aktualisieren oder die offiziellen Patches nicht anwenden können, versuchen Sie es mit diesem.
Magento 2 Patch für CVE-2022-24086, CVE-2022-24087. Behebt die RCE-Sicherheitslücke und damit verbundene Fehler durch tiefgehendes Escaping von Template-Variablen. Wenn Sie Magento nicht aktualisieren oder die offiziellen Patches nicht anwenden können, probieren Sie diesen hier.
CVE-2022-24086 (mit CVE-2022-24087) wurde Anfang 2022 entdeckt.
Betroffene Shops haben diese Remote Code Execution (RCE)-Sicherheitslücke ohne Workaround. Zwei offizielle isolierte Patches wurden im Februar 2022 veröffentlicht.
Allerdings erhalten wir auch Ende 2024 noch Anfragen zu diesem Problem und ihre gehackten Shops wurden identifiziert, dass diese Sicherheitslücke ausgenutzt wurde. Beobachtete Angriffe erfolgten durch Eingabe einer Zeichenkette, die eine template directive enthält. Typischerweise durch Nutzung des Checkout-Prozesses, Aktionen, die das Senden einer E-Mail mit benutzerkontrollierbaren Feldern auslösen können, usw.
Wir erstellen diesen Patch aufgrund dieses weit verbreiteten Angriffs und weil einige Shops immer noch Schwierigkeiten haben, auf nicht betroffene Versionen zu aktualisieren oder die beiden offiziellen Patches anzuwenden.
Während wir diesen Patch als Erweiterung erstellen, behalten wir die Kompatibilität im Auge. Es wurde hauptsächlich auf Magento 2.4 Serie getestet.
Obwohl die offizielle Dokumentation besagt, dass "Methoden nicht mehr von Variablen aus entweder der var-Direktive oder als Parameter aufgerufen werden können", haben wir bestätigt, dass selbst in der neuesten Version (2.4.7-p3) das Aufrufen von "Getter"-Methoden auf Data Object und das Aufrufen der getUrl-Methode auf Email Template Object (\Magento\Email\Model\AbstractTemplate) immer noch erlaubt sind.
Dieser Patch (Erweiterung) behält ebenfalls die obigen Funktionen. Daher sind {{var data_object.something}} und {{var data_object.getSomething()}} beide in Ordnung und äquivalent.
getUrl-Beispiel:
{{var this.getUrl($store,'route_id/controller/action',[_query:[param1:$obj.param1,param2:$obj.param2],_nosid:1])}}
Zusammenfassend, nach der Installation dieser Erweiterung:
\Magento\Framework\DataObject oder eine Instanz seiner Kindklasse sind, können nicht zugegriffen werden\Magento\Framework\DataObject und seinen Kindinstanzen erlaubtgetUrl-Methode funktioniert nur auf thisEntfernte LegacyResolver, um die RCE zu stoppen.
Eingeführt "deferred directive with signature" für Child-Templates. Wir sind uns nicht sicher, ob dies eine Sicherheitsverbesserung darstellt.
Hat immer noch einen ungefixten Bug (#39353).
Verwenden "deep template variable escaping" vor dem Template-Filterungsprozess. LegacyResolver erhält nur escapte Benutzerdaten und kann daher beibehalten werden.
Magento 2.3 oder 2.4
composer require wubinworks/module-template-filter-patch
Wenn Ihnen diese Erweiterung gefällt oder sie Ihnen geholfen hat, ★stern☆ Sie dieses Repository.
Das könnte Ihnen auch gefallen:
Magento 2 Patch für CVE-2024-34102 (auch bekannt als Cosmic Sting)
Magento 2 Erweiterte XML-Sicherheit
Magento 2 Verschlüsselungs-Schlüssel-Manager CLI
Magento 2 JWT-Authentifizierungs-Patch