Wie bereits erwähnt, werden die behobenen Sicherheitslücken auf dieser offiziellen Seite (neue Händlerdokumente) ausführlich beschrieben: http://merch.docs.magento.com/ce/user_guide/Magento_Community_Edition_User_Guide.html#magento/patch-releases-2015.html
Zusammenfassung
Dieses Bundle enthält Schutz vor den folgenden sicherheitsrelevanten Problemen:
- Kundeninformationsleck via RSS und Privilegieneskalation
- Fälschung in Magento Connect anfordern führt zur Ausführung von Code
- Cross-Site Scripting in der Wunschliste
- Cross-Site Scripting im Warenkorb
- Pfadangabe speichern
- Berechtigungen für Protokolldateien zu breit
- Siteübergreifende Skripterstellung in Admin
- Cross-Site Scripting in Bestellungen RSS
Nach dem Patchen einiger Läden habe ich Folgendes gesammelt:
Theme-Patches
Einige Designdateien wurden mit Escape-Zeichen versehen, um mögliche XSS-Angriffe zu verhindern:
checkout/cart.phtml
checkout/cart/noItems.phtml
checkout/onepage/failure.phtml
rss/order/details.phtml
wishlist/email/rss.phtml
Wenn Ihre Designs eine dieser Vorlagen enthalten oder wenn Sie Änderungen direkt in vorgenommen haben base/default
(viel Glück, Sie sind fertig), müssen Sie diese manuell patchen:
Ersetzen Sie in den Checkout-Vorlagen alle Vorkommen von
$this->getContinueShoppingUrl()
mit
Mage::helper('core')->quoteEscape($this->getContinueShoppingUrl())
in wishlist/email/rss.phtml
ersetzen
$this->helper('wishlist')->getCustomerName()
mit
Mage::helper('core')->escapeHtml($this->helper('wishlist')->getCustomerName())
In rss/order/details.phtml
ersetzen
<?php echo $this->__('Customer Name: %s', $_order->getCustomerFirstname()?$_order->getCustomerName():$_order->getBillingAddress()->getName()) ?><br />
<?php echo $this->__('Purchased From: %s', $_order->getStore()->getGroup()->getName()) ?><br />
mit
<?php $customerName = $_order->getCustomerFirstname() ? $_order->getCustomerName() : $_order->getBillingAddress()->getName(); ?>
<?php echo $this->__('Customer Name: %s', Mage::helper('core')->escapeHtml($customerName)) ?><br />
<?php echo $this->__('Purchased From: %s', Mage::helper('core')->escapeHtml($_order->getStore()->getGroup()->getName())) ?><br />
Berechtigungen
.htaccess
Dateien wurden hinzugefügt downloader/Maged
und downloader/lib
zu verbieten den direkten Zugriff auf Quelldateien. Wenn Sie nginx verwenden, müssen Sie diese Regeln hinzufügen, um dasselbe zu erreichen (danke an Ben Lessani für diese):
location /downloader/Maged/ { deny all; }
location /downloader/lib/ { deny all; }
Ich empfehle aber auszuschließen downloader
von Bereitstellungen auf einem Live-Systemsystem In diesem Fall müssen Sie keine Maßnahmen ergreifen.
Administratorrechte (ACL)
Wenn Sie eingeschränkte Administratorkonten verwenden, funktionieren einige Menüs von Erweiterungen von Drittanbietern möglicherweise nicht mehr für diese. Der Grund dafür ist , dass der Standardrückgabewert Mage_Adminhtml_Controller_Action::_isAllowed()
wird von geändert true
zu Mage::getSingleton('admin/session')->isAllowed('admin')
. Erweiterungen, die diese Methode in ihren Admin-Controllern nicht überschreiben, weil sie die ACL nicht verwenden, benötigen jetzt "ALL". .
Die einzige Lösung besteht darin, die Erweiterungen zu patchen und diese Methode allen Administratoren hinzuzufügen:
protected function _isAllowed()
{
return true;
}
Oder wenn tatsächlich eine ACL-Ressource definiert ist in etc/adminhtml.xml
:
protected function _isAllowed()
{
return Mage::getSingleton('admin/session')->isAllowed('ENTER RESOURCE IDENTIFIER HERE');
}
(Sie können sehen, dass der Patch dasselbe tut für Phoenix_Moneybookers
Wie in älteren Magento-Versionen wie 1.7, in denen diese Erweiterung enthalten war.)
Ausführlichere Informationen zu diesem Problem und eine Erläuterung zum Definieren fehlender ACL-Ressourcen finden Sie unter: Fehler bei Zugriff verweigert nach der Installation von SUPEE-6285
Mögliche Fehler beim Anwenden des Patches
Botschaft:
can't find file to patch at input line 899
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git app/design/frontend/default/modern/template/checkout/cart.phtml app/design/frontend/default/modern/template/checkout/cart.phtml
|index 982ad5a..2bf6b37 100644
|--- app/design/frontend/default/modern/template/checkout/cart.phtml
|+++ app/design/frontend/default/modern/template/checkout/cart.phtml
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
1 out of 1 hunk ignored
Grund: Das default/modern
Theme wurde aus der Installation entfernt
Lösung: Hinzufügen app/design/frontend/default/modern
von einem neuen Magento-Download (sollte die gleiche Version wie Ihr Shop sein). Sie können diesen Spiegel auch verwenden: https://github.com/firegento/magento . Nachdem Sie den Patch erfolgreich angewendet haben, können Sie das Design wieder entfernen.
Botschaft
patching file downloader/Maged/.htaccess
can't find file to patch at input line 915
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git downloader/Maged/Controller.php downloader/Maged/Controller.php
|index aa9d705..32755d7 100644
|--- downloader/Maged/Controller.php
|+++ downloader/Maged/Controller.php
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
5 out of 5 hunks ignored
can't find file to patch at input line 976
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git downloader/Maged/Model/Session.php downloader/Maged/Model/Session.php
|index 18020eb..7013c94 100644
|--- downloader/Maged/Model/Session.php
|+++ downloader/Maged/Model/Session.php
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
2 out of 2 hunks ignored
patching file downloader/lib/.htaccess
can't find file to patch at input line 1020
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git downloader/template/connect/packages.phtml downloader/template/connect/packages.phtml
|index 9cca5a6..f42e74e 100644
|--- downloader/template/connect/packages.phtml
|+++ downloader/template/connect/packages.phtml
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
3 out of 3 hunks ignored
can't find file to patch at input line 1049
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git downloader/template/connect/packages_prepare.phtml downloader/template/connect/packages_prepare.phtml
|index f74c3df..86aa51b 100644
|--- downloader/template/connect/packages_prepare.phtml
|+++ downloader/template/connect/packages_prepare.phtml
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 1061
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git downloader/template/login.phtml downloader/template/login.phtml
|index 6e4cd2c..dbbeda8 100644
|--- downloader/template/login.phtml
|+++ downloader/template/login.phtml
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 1073
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git downloader/template/settings.phtml downloader/template/settings.phtml
|index 13551ac..47ab411 100644
|--- downloader/template/settings.phtml
|+++ downloader/template/settings.phtml
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
1 out of 1 hunk ignored
Grund: Das downloader
Verzeichnis wurde aus der Installation entfernt
Lösung: Hinzufügen downloader
von einem neuen Magento-Download (sollte die gleiche Version wie Ihr Shop sein). Sie können diesen Spiegel auch verwenden: https://github.com/firegento/magento . Nachdem Sie den Patch erfolgreich installiert haben, können Sie das Verzeichnis wieder entfernen.
Nachricht: Etwas Ähnliches wie
checking file app/design/frontend/base/default/template/checkout/cart.phtml
Hunk #1 FAILED at 97 (different line endings).
1 out of 1 hunk FAILED
checking file app/design/frontend/base/default/template/checkout/cart/noItems.phtml
Hunk #1 FAILED at 31 (different line endings).
1 out of 1 hunk FAILED
checking file app/design/frontend/base/default/template/checkout/onepage/failure.phtml
Hunk #1 FAILED at 29 (different line endings).
1 out of 1 hunk FAILED
checking file app/design/frontend/base/default/template/rss/order/details.phtml
Hunk #1 FAILED at 31 (different line endings).
1 out of 1 hunk FAILED
checking file app/design/frontend/base/default/template/wishlist/email/rss.phtml
Hunk #1 FAILED at 25 (different line endings).
1 out of 1 hunk FAILED
Grund: Die Dateien werden mit \r\n
(CRLF, Windows-Zeilenumbruch) oder \r
(CR, Mac-Zeilenumbruch) anstelle von \n
(LF, Unix-Zeilenumbruch) gespeichert .
Lösung: Konvertieren Sie einfach die Zeilenumbrüche. Ihr Texteditor oder Ihre IDE sollten dazu in der Lage sein.