Patch keamanan baru keluar untuk Magento 1, mengatasi 13 masalah APPSEC
https://magento.com/security/patches/supee-10266
Masalah umum apa yang harus Anda perhatikan saat menerapkan tambalan ini?
SUPEE-10266, Magento Commerce 1.14.3.6 dan Open Source 1.9.3.6 berisi beberapa peningkatan keamanan yang membantu menutup pemalsuan permintaan lintas situs (CSRF), kebocoran data yang tidak sah, dan kerentanan eksekusi kode jarak jauh pengguna Admin yang diautentikasi. Rilis ini juga mencakup perbaikan untuk masalah reload gambar dan pembayaran menggunakan checkout satu langkah.
magento-1
patches
security
supee-10266
Luke Rodgers
sumber
sumber
Jawaban:
Beberapa informasi penting dibagikan di sini. Sebagian besar file dari Magento backend. Daftar file:
Yang penting perlu periksa tiga file ini.
app / code / core / Mage / Checkout / controllers / CartController.php kondisi tambahan periksa id pelanggan :
app / code / core / Mage / Sales / Model / Resource / Order / Item / Collection.php menambahkan metode tambahan addFilterByCustomerId dalam koleksi.
app / code / core / Mage / Core / Model / File / Validator / Image.php
jika 'general / reprocess_images / active' false maka abaikan pemrosesan gambar. CATATAN: Jika Anda mematikan pemrosesan ulang gambar, maka proses unggah gambar Anda dapat menyebabkan risiko keamanan
Semoga bermanfaat. kupikir
sumber
EE 1.14.2.4
Mengetik pada baris 726 patch:
autocomplete="new-pawwsord"
(app/design/adminhtml/default/default/template/backup/dialogs.phtml
)Patch tampaknya melewatkan 2 file frontend:
Ditambal:
app\design\adminhtml\default\default\template\oauth\authorize\form\login-simple.phtml
Tidak ditambal:
app\design\frontend\base\default\template\oauth\authorize\form\login-simple.phtml
app\design\frontend\rwd\default\template\oauth\authorize\form\login-simple.phtml
Juga jangan lupa untuk memeriksa override lokal ... Saya harus secara manual menambal override codepool lokal
app\design\adminhtml\default\default\template\sales\order\view\info.phtml
Lihat quasiobject jawaban 's untuk masalah checkout onepage. Tiket dukungan perusahaan dibuat, menunggu tanggapan dari Magento. Jika Anda tidak ingin menunggu tambalan yang diperbarui, perbaikan potensial adalah dengan mengubah statment "lain"
app\design\frontend\enterprise\default\template\giftcardaccount\onepage\payment\scripts.phtml
untuk memasukkan elemen form_key seperti:if (($('p_method_' + methodName) && $('p_method_' + methodName).checked) || elements[i].name == 'form_key') { ...
CE 1.9.2.4
Mengetik pada baris 694 patch:
autocomplete="new-pawwsord"
(app/design/adminhtml/default/default/template/backup/dialogs.phtml
)Ekstensi TrueOrderEdit perlu ditambal ... ubah
echo $_groupName
keecho $this->escapeHtml($_groupName)
dalam file berikut:app\design\adminhtml\default\default\template\orderedit\sales\order\view\edit.phtml
app\design\adminhtml\default\default\template\orderedit\sales\order\view\history.phtml
app\design\adminhtml\default\default\template\orderedit\sales\order\view\info.phtml
Akhirnya, file templat inti ini mungkin juga harus ditambal dengan pembaruan $ _groupName yang sama:
app\design\adminhtml\default\default\template\sales\order\view\edit.phtml
Semua Versi 1.X
Jika Anda telah menghapus
/downloader
folder (atau/downloader/template
) dari basis kode Anda, maka Anda mungkin harus mengedit file patch .sh secara manual dan menghapus bagian terakhir, dimulai dengandiff --git downloader/template/login.phtml downloader/template/login.phtml
Mengenai kesalahan Kunci Rahasia Tidak Valid , silakan lihat jawaban saya di sini: Magento 1.9 Kunci Rahasia Tidak Valid. Harap segarkan halaman
sumber
Kami di MageHost.pro menemukan masalah dalam tambalan untuk Magento 1.9.1.1, berkas tambalan
PATCH_SUPEE-10266_CE_1.9.1.1_v1-2017-09-15-04-59-56.sh
Kesalahan:
Saya memperbaikinya dengan mengganti baris 454-472 dengan 454-471 dari
PATCH_SUPEE-10266_CE_1.9.1.0_v1-2017-09-13-06-34-33.sh
Kode lama, baris 454-472:
Kode baru, baris 454-471:
sumber
Hanya 1 kunci formulir yang tampaknya telah ditambahkan dalam tambalan ini.
Jadi, jika Anda mengalami kesulitan menghapus widget dari panel admin pastikan url penghapusan Anda dihasilkan oleh blok, dan Anda tidak memiliki penggantian blok ini.
sumber
Tidak mungkin untuk checkout di EE 1.11+
Dalam
app/design/frontend/enterprise/default/template/giftcardaccount/onepage/payment/scripts.phtml
kode validasi kunci formulir telah dihapus dan memecah seluruh checkout, info lebih lanjut di sini: https://magento.stackexchange.com/a/193442/2380Solusi untuk saat ini (sebagai V2 untuk EE 1.11+ akan dirilis untuk mengatasi masalah itu): kembalikan file template untuk keduanya
enterprise/default
danrwd/entreprise
tema.Perbedaan antara tambalan dan versi
EDIT: 1.9.3.6 dirilis sehingga info ini tidak lagi relevan
Salah satu masalah utama yang telah diangkat untuk saat ini adalah 1.9.3.5 hilang 3 tambalan keamanan dari tambalan. Jadi saya sangat menyarankan untuk hanya menambal dan belum memperbarui ke 1.9.3.5
sumber
Masih berusaha menentukan apakah ini unik untuk toko kami, karena templat khusus. Namun, itu rusak dengan tambalan yang diterapkan dan tidak rusak ketika kami kembali. Saya ingin memposting kalau-kalau orang lain dapat melaporkan hal yang sama.
Di EE 1.14.2.0, kami tidak dapat maju melewati langkah Informasi Pembayaran checkout dengan tambalan diterapkan. Kami saat ini hingga SUPEE-9767 v2 sebelum menerapkan tambalan baru.
Masalah kami tampaknya berasal dari mereka menghapus
|| elements[i].name == 'form_key'
dari:Itu dihapus dari
enablePaymentMethods
loop. Itu tampaknya membiarkan input form_key tersembunyi formulir dinonaktifkan dan karenanya tidak diteruskan ke controller ketika dikirimkan.Kemudian,
$this->_validateFormKey()
gagal dan controller tidak mengembalikan apa pun.Pembaruan 1 (2017-09-18) : Saya menyerahkan tiket ke dukungan Magento pada hari Jumat dan diberi tahu bahwa "[belum] dilaporkan oleh pedagang mana pun". Alih-alih mengirim cadangan, saya mencoba menduplikasi pada instalasi bersih 1.14.2.4 dan 1.14.3.4 dengan tambalan yang berlaku. Saya dapat menggandakan dan merespons tiket. Menunggu respons baru.
Catatan: Sistem> Konfigurasi> Admin> Keamanan> Aktifkan Validasi Kunci Formulir Saat Checkout harus "Ya". Jika "Tidak", Anda tidak akan melihat masalah.
Pembaruan 2 (2017-09-18) : Melihat bahwa saya tidak dapat menduplikasi masalah dengan 1.14.3.6, tetapi ketika saya memeriksa file templat di atas,
|| elements[i].name == 'form_key'
masih ada. Sepertinya tambalan seharusnya tidak menghapusnya. Mengirim informasi ini ke dukungan Magento juga.Pembaruan 3 (2017-09-20): Saya baru saja mendapatkan tambalan untuk memperbaiki masalah untuk 1.14.0.0-1.14.3.4, yang hanya mengembalikan
form_key
baris ke templat. Minta dukungan untuk SUPEE-10348.sumber
Ketika Anda pergi ke Magento Connect, dan setelah ketika Anda mengklik "Kembali ke Admin" di sudut kanan atas halaman. Setelah kembali ke dasbor admin, Anda mendapatkan pesan kesalahan
pesan kesalahan merah : "Kunci Rahasia Tidak Valid. Harap segarkan halaman."
Setelah Anda me-refresh halaman, itu hilang.
Diperbarui: 15 September 2017
Jika Anda masuk ke admin Magento, katakanlah Dasbor. Tanpa keluar dari panel Dashboard Anda pergi dan membuka jendela browser lain di browser yang sama dan pergi ke example.com/admin, itu akan masuk otomatis dan menampilkan pesan yang persis sama
pesan kesalahan merah : "Kunci Rahasia Tidak Valid. Harap segarkan halaman."
Sejauh ini satu-satunya masalah yang saya temukan. Saya bahkan tidak yakin apakah ini masalah yang solid karena pesannya hilang setelah refresh.
sumber
if ($_keyErrorMsg != '') { Mage::getSingleton('adminhtml/session')->addError($_keyErrorMsg); };
seharusnyaif (!$_isValidFormKey){ Mage::getSingleton('adminhtml/session')->addError($_keyErrorMsg); };
Saya bertanya Dukungan Magento tentang masalah berikut
Mereka menjawab saya pagi ini dan merilis patch baru PATCH_SUPEE-10348 .
Magento baru saja menyelesaikan masalah dengan melakukan pengembalian dalam file ini.
sumber
Saya mengalami masalah dengan templat email, CSS khusus, dan modman. Jika Anda misalnya memiliki tema berdasarkan
rwd/default
, memiliki kebiasaanskin/frontend/package/theme/css/email-inline.css
dan file skin Anda dimasukkan melalui modman melalui symlink, CSS tidak akan ditambahkan ke templat email setelah menerapkan SUPEE-10266. Masalahnya adalah bahwa dalamMage_Core_Model_Email_Template_Abstract::_getCssFileContent
, beberapa pemeriksaan telah diperkenalkan .:Saya menyelesaikannya dengan hack kotor dengan
app/code/local/Mage/Core/Model/Email/Template/Abstract.php
override untuk saat ini. Saya harus melemahkan cek, sehingga dimungkinkan untuk memuat file CSS dari direktori modman:Ini tidak akan memeriksa apakah path menyertakan direktori skin lengkap lagi, tetapi hanya akan memeriksa apakah path berisi string
/skin
dan jika tidak termasuk..
, yang seharusnya mencegah serangan traversal direktori.sumber
if (strpos($filename, '..') === false) { $positionSkinDirectory = 1; }
baris setelah$positionSkinDirectory
awalnya diatur. Ini seharusnya membantu menghindari direktori traversal.Berikut adalah daftar lengkap tambalan yang dipengaruhi oleh
autocomplete="new-pawwsord"
kesalahan ketik:sumber
Di Magento 1.8.1 saya mengalami masalah dengan file-file berikut:
Saya berakhir dengan mengunduh versi Magento terbaru yang TIDAK mengandung tambalan. Dalam hal ini Magento 1.9.3.4 .
Mengganti file 'rusak' dengan file dari unduhan memperbaiki masalahnya. Saya berhasil menerapkan tambalan.
Tapi hati-hati: Saya sarankan untuk mengembalikan 3 file setelah menambal lagi dan mengedit file secara manual.
sumber