Magento Patch Chaos ? – V2 – SUPEE-6285 – 2te Version eines Patches?

SUPEE-6285-v-2SUPEE-6285 Version 2? Eine zweite Version eines Patches? Was hat es damit aufsich? Leider ist da bei Magento etwas schiefgelaufen. Es wurde ein Patch ausgeliefert der schon fast “lustig” ist…

Habe eben die Info von meinem Kollegen bekommen, dass eine V2 des Patches online ist… und aus dem Bauch raus bereits drauf getippt, dass Magento versäumt hat das RWD Template zu updaten, da mir das gestern bei Arbeiten an einem Magento Shop als nicht geupdated gezeigt wurde 🙂 Und so war es auch^^

Stellen Sie sich vor ein Autohersteller verkauft Motoren, auch an andere Marken und macht eine Rückrufaktion für Autos aufgrund eines Motorschadens., aber versäumt die Autos der eigenen Marke zurückzurufen. Sowas in etwa ist bei Magento auf Templates übertragen passiert. Magento liefert ein Standard Template genialer Weise aus. Aber hat versäumt dieses mit dem letzten Patch zu patchen…

Kurzform:

Der Patch ist nur wichtig, wenn man das RWD Tempalte verwendet oder darauf basierende (insbesondere die cart.phtml). Ansonsten ist der Patch recht egal.

Offizielle Statement ließt sich dazu so.

   security Announcement

Re-download new Magento security patch

We are aware that you recently downloaded a Magento security patch on Tuesday, July 7th.

We’ve since learned that this security patch omitted patches on responsive web design (RWD) themes for XSS and have since published an updated version of the patch, which resolves this gap. We are specifically writing to you to take immediate action to return to the download page and download the updated patch V2. To apply the patch, you will need to revert the previous patch and apply the new version.

Thank you for your cooperation. We apologize for any inconvenience this may have caused.

Regards,
Magento Team

This is a service email related to your use of Magento for which you cannot opt out of. To learn more about Magento’s use of personal information, including the use of web beacons and cookies in HTML-based email, please read our Privacy Policy. Magento is located at 10441 Jefferson Blvd., Suite 200, Culver City, CA 90232.

 

Den neuen Patch gibt es hier:

https://www.magentocommerce.com/download

Etwas genauer…

Jeder der den Patch vor ein paar Tagen eingespielt hat, hat die entsprechenden Änderungen an den base Template Files vermutlich gesehen. Wenn man nun ein tick weiter denkt, war recht schnell klar, dass das bedeutet man muss die eigenen Template Files anlog dazu anpassen.

Der SUPEE-6285 behob unter anderem Cross-Site Scripting Lücken, die durch Anpassungen an dem Continue Button im cart.phtml Template gelöst wurden.

Das Problem:

Magento hat es leider verpeilt das eigene default responsive webdesign (RWD) Tempalte anzupassen 😀 Bedeutet jeder Shop der das Standard Magento Template verwendet war weiterhin genauso ungeschützt wie jeder Shop bei dem die Änderungen nicht manuell durchgeführt wurden 🙂

Das eklige bei dem Patch…

To apply the patch, you will need to revert the previous patch and apply the new version.

Wer eine Versionierungssoftware verwendet, für den ist das natürlich kein Problem. Jeder, der aber den Patch anders eingespielt hat, hat nun den Salat und muss ein Backup einspielen oder händisch alles zusammenbasteln…

 

Wie man es löst?

Wenn man nun wirklich das Problem hat, dass man den Patch nicht einfach zurücksetzen kann… In der Datei template/checkout/cart.phtml muss der continue Button angepasst werden.

 

template/checkout/cart.phtml

Diese Zeile raus:
<button type=button title=<?php echo $this->__(‘Continue Shopping’) ?> class=button2 btn-continue onclick=setLocation(‘<?php echo $this->getContinueShoppingUrl() ?>’)><span><span><?php echo $this>__(Continue Shopping) ?></span></span></button>
ersetzen durch diese:
<button type=button title=<?php echo $this->quoteEscape($this->__(‘Continue Shopping’)) ?> class=button2 btn-continue onclick=setLocation(‘<?php echo Mage::helper(‘core’)->quoteEscape($this->getContinueShoppingUrl()) ?>’)><span><span><?php echo $this>__(Continue Shopping) ?></span></span></button>
<?php endif; ?>

Thanks for your solution http://magehero.com/posts/974/supee-6285-part-2

 

Aber weiterhin ist Magento ein geniales Shop System! Wobei man schon erwartet hätte, auf sowas verzichten zu können. Nur Fehler können ja leider überall passieren 😉

 

update (11.07.2015)

Gibt nun eine kleine Anleitung von Magento zum Thema Patch einspielen, reverten usw. http://devdocs.magento.com/guides/m1x/other/ht_install-patches.html#revert

 

2 Antworten auf „Magento Patch Chaos ? – V2 – SUPEE-6285 – 2te Version eines Patches?“

  1. Danke für dein Beitrag. Habe mich auch gefragt was diese Mail soll. Es wurde als zusätzlich nur die cart.phtml für das rwd- theme geupdated. Nun habe ich aber eine technische Frage:

    Das Update in der cart.phtml wird ja als XSS Lücke deklariert. Allerdings gibt es ja in der entsprechenden Zeile gar keine Userinputs. Was da ausgegeben wird ist ja lediglich die Lokalisierung mit $this->__(‘Continue Shopping’)

    Will man mit diesem Update verhindern, dass ein Angreifer über die Lokalisierung JS- Code einschleusen kann? (Was ich nicht ganz verstehe, wie man dann überhaupt die Lokalisierungs- Files ändern könnte)

  2. Hier noch ein paar mehr Infos von meinem Kollegen dazu

    “Cross-site Scripting in Cart: Über URL-Parameter kann JavaScript in den Checkout injiziert werden, dies ermöglicht das abgreifen von Cookie-Informationen. Mit Hilfe der Cookie Informationen kann sich der Angreifer als Kunde des Shops ausgeben.”
    Man kann wohl einen geschickt gewählten request machen, der dann im cart wieder beim button eingesetzt wird und an der stelle konnte wohl JS ausgeführt werden, sodass man fremde session cookies bekommen hat

    Hier noch weitere Infos https://www.simpleservers.co.uk/2015/07/new-magento-supee-6285-security-patch

    Hier die Infos von Magento http://merch.docs.magento.com/ce/user_guide/Magento_Community_Edition_User_Guide.html#magento/patch-releases-2015.html

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.