Seperti yang telah disebutkan, kerentanan yang ditambal dijelaskan secara rinci di halaman resmi ini (dokumen merchant baru): http://merch.docs.magento.com/ce/user_guide/Magento_Community_Edition_User_Guide.html#magento/patch-releases-2015.html
Ringkasan
Bundel ini mencakup perlindungan terhadap masalah terkait keamanan berikut:
- Informasi Pelanggan Kebocoran melalui RSS dan Peningkatan Privilege
- Meminta Pemalsuan di Magento Connect Leads ke Eksekusi Kode
- Script Lintas Situs di Wishlist
- Skrip Lintas Situs dalam Keranjang
- Simpan Pengungkapan Jalur
- Izin pada File Log terlalu Luas
- Skrip Lintas Situs di Admin
- Script Lintas Situs dalam Pesanan RSS
Setelah menambal beberapa toko, inilah yang saya kumpulkan:
Tambalan tema
Beberapa file tema telah ditambal dengan tambahan pelarian untuk mencegah kemungkinan serangan XSS:
checkout/cart.phtml
checkout/cart/noItems.phtml
checkout/onepage/failure.phtml
rss/order/details.phtml
wishlist/email/rss.phtml
Jika tema Anda mengandung salah satu templat ini, atau jika Anda membuat modifikasi secara langsung base/default
(semoga berhasil, Anda kacau), maka Anda perlu menambalnya secara manual:
di templat checkout, ganti semua kejadian
$this->getContinueShoppingUrl()
dengan
Mage::helper('core')->quoteEscape($this->getContinueShoppingUrl())
di wishlist/email/rss.phtml
, ganti
$this->helper('wishlist')->getCustomerName()
dengan
Mage::helper('core')->escapeHtml($this->helper('wishlist')->getCustomerName())
Di rss/order/details.phtml
, ganti
<?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 />
dengan
<?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 />
Izin
.htaccess
file telah ditambahkan ke downloader/Maged
dan downloader/lib
untuk melarang akses langsung ke file sumber. Jika Anda menggunakan nginx, Anda perlu menambahkan aturan ini untuk mencapai hal yang sama (thx ke Ben Lessani untuk yang ini):
location /downloader/Maged/ { deny all; }
location /downloader/lib/ { deny all; }
Tapi saya sarankan untuk mengecualikan downloader
dari penyebaran ke sistem sistem live, dalam hal ini Anda tidak perlu mengambil tindakan.
Hak Istimewa Admin (ACL)
Jika Anda menggunakan akun admin terbatas, beberapa menu ekstensi pihak ketiga mungkin tidak berfungsi lagi untuk mereka. Alasannya adalah bahwa nilai pengembalian default Mage_Adminhtml_Controller_Action::_isAllowed()
telah diubah dari true
menjadi Mage::getSingleton('admin/session')->isAllowed('admin')
. Ekstensi yang tidak mengesampingkan metode ini di pengontrol admin mereka karena mereka tidak menggunakan ACL, sekarang memerlukan hak istimewa "SEMUA" .
Satu-satunya solusi adalah menambal ekstensi dan menambahkan metode ini ke semua pengontrol admin mereka:
protected function _isAllowed()
{
return true;
}
Atau jika mereka benar-benar memiliki sumber daya ACL yang didefinisikan dalam etc/adminhtml.xml
:
protected function _isAllowed()
{
return Mage::getSingleton('admin/session')->isAllowed('ENTER RESOURCE IDENTIFIER HERE');
}
(Anda dapat melihat bahwa tambalan melakukan hal yang sama Phoenix_Moneybookers
di versi Magento yang lebih lama seperti 1.7 tempat ekstensi ini disertakan)
Untuk perspektif yang lebih rinci tentang masalah ini dan penjelasan tentang cara mendefinisikan sumber daya ACL yang hilang, lihat: Mengakses kesalahan yang ditolak setelah menginstal SUPEE-6285
Kemungkinan kesalahan saat menerapkan tambalan
Pesan:
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
Alasan: the default/modern
tema telah dihapus dari instalasi
Solusi: Tambahkan app/design/frontend/default/modern
dari unduhan Magento baru (harus versi yang sama dengan toko Anda). Anda juga dapat menggunakan cermin ini: https://github.com/firegento/magento . Kemudian setelah menerapkan tambalan berhasil, Anda dapat menghapus tema lagi.
Pesan
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
Alasan: yang downloader
direktori telah dihapus dari instalasi
Solusi: Tambahkan downloader
dari unduhan Magento baru (harus versi yang sama dengan toko Anda). Anda juga dapat menggunakan cermin ini: https://github.com/firegento/magento . Kemudian setelah menerapkan tambalan dengan sukses Anda dapat menghapus direktori lagi.
Pesan: Sesuatu yang mirip dengan
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
Alasan: file disimpan dengan \r\n
(CRLF, Windows line break) atau \r
(CR, Mac line break) alih-alih \n
(LF, Unix line break).
Solusi: Cukup konversi jeda baris, editor teks atau IDE Anda harus mampu melakukan ini.