Patch keamanan baru keluar untuk Magento 1, mengatasi 25 masalah APPSEC
https://magento.com/security/patches/supee-10752
Masalah umum apa yang harus Anda perhatikan saat menerapkan tambalan ini?
SUPEE-10752, Magento Commerce 1.14.3.9 dan Open Source 1.9.3.9 berisi beberapa peningkatan keamanan yang membantu menutup eksekusi kode jarak jauh pengguna Admin (RCE) terotentikasi, pemalsuan permintaan lintas situs (CSRF) dan kerentanan lainnya.
Informasi tentang semua perubahan dalam rilis 1.14.3.9 dan 1.9.3.9 tersedia di catatan rilis Magento Commerce dan Magento Open Source.
Tambalan dan peningkatan tersedia untuk versi Magento berikut:
Magento Commerce 1.9.0.0-1.14.3.9: SUPEE-10752 atau tingkatkan ke Magento Commerce 1.14.3.9.
Magento Open Source 1.5.0.0-1.9.3.9: SUPEE-10752 atau tingkatkan ke Magento Open Source 1.9.3.9.
sumber
Jawaban:
Seperti yang Disebutkan oleh Documents Resmi Oleh Magento :
Konflik selama pemasangan tambalan SUPEE-10752 paling sering disebabkan oleh pemasangan tambalan versi 1 sebelumnya ( SUPEE-10570v1 ).
Pastikan untuk menghapus SUPEE-10570v1 dan menginstal SUPEE-10570v2 sebelum pemasangan SUPEE-10752 baru.
sumber
File-file di bawah ini diubah / dibuat setelah menerapkan tambalan
Untuk Edisi EE file di bawah ini ditambahkan selain CE
Siapa pun yang menimpa file onepage.php, harap perbarui file tersebut.
Untuk validasi kunci ditambahkan. Harap periksa formulir keranjang Anda, miliki kunci formulir
cron.php: exception handle dalam file cron.php
GD2: mengembalikan tipe mime nyata.
Jika Anda menggunakan nginx bukan Apache, pastikan Anda memperbarui konfigurasi Anda untuk menduplikasi perubahan ini.
Metode pengiriman file yang baru ditambahkan / diperbarui adalah:
File Escapehtml:
File frontend produk yang dapat diunduh: Siapa pun yang menggunakan produk yang dapat didownload silakan perbarui file dalam file tema Anda.
Periksa kode
Ubah dengan
Periksa kode
Ubah dengan
Periksa kode
Ubah dengan
Periksa kode
Ubah dengan
Ubah dengan
Ubah dengan
Periksa kode
Ubah dengan
Periksa kode
Ubah dengan
File Escapehtml lainnya:
sumber
Modifikasi ke
filter
metode kelebihan beban diZend_Filter_PregReplace
adalah naif, dan mengasumsikan bahwa$this->_matchPattern
selalu string. Properti ini selanjutnya disediakan sebagai argumen pertamapreg_replace
. Pada kenyataannya, sebuah array juga merupakan argumen yang benar-benar valid. Fakta ini sebenarnya digunakan oleh beberapaZend_Filter
kelas inti (sepertiZend_Filter_Word_SeparatorToCamelCase
). Jadi setiap ekstensi / cabang kode yang menggunakan filter ini atau salah satu turunannya, dengan argumen array_matchPattern
, akan mulai melemparWarning: substr() expects parameter 1 to be a string, array given
.Contoh kasar dari apa yang mungkin harus dilakukan akan menjadi sesuatu di sepanjang baris:
Meskipun saya belum melakukan pengujian menyeluruh tentang ini.
EDIT: Perlu dicatat, bahwa sementara solusi yang diusulkan di atas harus mencegah kesalahan, implementasi secara teknis masih agak naif dan cenderung positif palsu. Diasumsikan bahwa pembatas regex yang memisahkan pola dari pengubah sama dengan yang ada di awal string. Secara teknis ini tidak harus menjadi kasus sejak PHP mendukung berbagai pembatas gaya braket. Oleh karena itu input yang valid
{hello}is
akan menentukan pengubahhello}is
(bukan pengubah sebenarnyais
) dan dengan demikian akan mengeluarkan pengecualian, meskipun polanya tidak benar-benar memasukkane
pengubah.sumber
1.7.0.2 Masalah Versi: Setelah menginstal tambalan dan pergi ke satu halaman checkout (generic Magento checkout), dapatkan kesalahan ini
Parse error: syntax error, tak terduga
Mengembalikan tambalan, kesalahan hilang.
Melihat lebih dalam ke pertanyaan ini, saya telah menemukan tambalan telah menambahkan baris berikut ke file onepage.php.
SOLUSI: Terima kasih kepada @FabianSchmengler
UPDATE TO PHP versi 5.4 dan lebih tinggi!
sumber
masalah yang diketahui: -
Jika kode khusus atau ekstensi Anda menggunakan
Zend/Filter/PregReplace.ph
p dengan pengubah e, sekarang akan menghasilkan kesalahan karena kemungkinan masalah RCE.Patch ini mengikuti keamanan di bawah ini.
+++ app/code/core/Mage/Admin/Model/User.php
lalu
class Mage_Admin_Model_User
app/code/core/Mage/Adminhtml/Block/Catalog/Product/Composite/Fieldset/Options.php
app/code/core/Mage/Adminhtml/Block/Catalog/Product/Edit/Tab/Options/Option.php app/code/core/Mage/Adminhtml/Block/Catalog/Product/Edit/Tab/Options/Option.php
app/code/core/Mage/Catalog/Model/Product.php
+++ app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Filter/Datetime.php
app/design/frontend/base/default/template/downloadable/catalog/product/links.phtml
app/design/frontend/base/default/template/downloadable/checkout/cart/item/default.phtml
app/design/frontend/base/default/template/downloadable/checkout/onepage/review/item.phtml
app/design/frontend/base/default/template/downloadable/sales/order/items/renderer/downloadable.phtml
app/design/frontend/default/iphone/template/downloadable/checkout/onepage/review/item.phtml
app/design/frontend/rwd/default/template/downloadable/checkout/cart/item/default.phtml
app/design/frontend/rwd/default/template/downloadable/checkout/onepage/review/item.phtml
app/design/frontend/rwd/default/template/downloadable/sales/order/items/renderer/downloadable.phtml
app/code/core/Mage/Adminhtml/Model/LayoutUpdate/Validator.php
Mage_Adminhtml_Model_LayoutUpdate_Validator
Mage_Adminhtml_Model_LayoutUpdate_Validator
app/code/core/Mage/Catalog/Model/Resource/Category/Tree.php
app/code/core/Mage/Adminhtml/controllers/Catalog/CategoryController
app/code/core/Mage/Adminhtml/controllers/Cms/WysiwygController.php
lib/Varien/Image/Adapter/Gd2.php
app/code/core/Mage/Checkout/Model/Api/Resource/Customer.php
app/code/core/Mage/Checkout/Model/Type/Onepage.php
app/code/core/Mage/Core/Model/Session/Abstract/Varien.php
app/code/core/Mage/Customer/Helper/Data.php
app/code/core/Mage/Customer/Model/Resource/Customer.php
app/code/core/Mage/Customer/controllers/AccountController.php
Mage_Customer_AccountController
``
app/code/core/Mage/Log/Model/Visitor.php
app/code/core/Mage/Usa/Helper/Data.php
TAMBAH file untuk UPS
Pengaturan Ditambahkan untuk functoinlaity baru ini
app/code/core/Mage/Usa/etc/system.xml
843 baris
886
app/design/adminhtml/default/default/template/system/shipping/ups.phtml
1> 1) Validasi Produk Bundle
app/design/adminhtml/default/default/template/bundle/product/edit/bundle/option.phtml
sumber
Sepertinya bagian dari tambalan adalah htmlEscaping semua "getLinksTitle ()". Tetapi mereka lupa file-file berikut (ini didasarkan pada 1.8.1).
sumber
Tambalan tidak berfungsi pada vanilla Magento CE 1.8.0.0
Pembaruan: Menambahkan solusi di bawah ini.
Masalah:
Tambalan sebelumnya yang diterapkan:
Larutan
Diperbaiki dengan mengedit file tambalan. Ganti tambalan
downloadable.phtml
dengan yang dari tambalan untukv1.7.0.2
dalam file tambalan asli ini adalah garis 1854-1862.Ini terutama karena lekukan dalam file. Karena perubahan
downloadable.phtml
dalamV1.7.0.2
telah lebih menjorok.Solusi 2
Saya memiliki masalah yang sama, tapi saya bisa memperbaikinya dengan menyimpan kembali file asli dalam editor yang memaksa baris berakhir menjadi gaya Unix LF, bukan gaya Windows CRLF atau Mac CR
sumber
Mengacu pada Matt Antley, mungkin mereka tidak menyertakan SUPEE-10570v2 karena ini
Sejauh yang saya tahu bug checkout tidak terlalu umum sehingga mereka memutuskan untuk tetap dengan SUPEE-10570 yang melindungi terhadap dua masalah keamanan risiko rendah ?!
sumber
SUPEE-10570v2
maka mereka harus mendaftar ulang.SUPEE-10752
dan melompati pistol itu sedikit. Sekali lagi, terima kasih atas komentarnya.Tambalan tidak berfungsi pada vanilla Magento CE 1.6.0.0
Pembaruan: Menambahkan solusi di bawah ini.
Masalah:
Tambalan sebelumnya yang diterapkan:
Terpecahkan
Saya telah memperbaiki masalah ini dengan mengubah file tambalan. Saya mengganti bakhil yang memberikan masalah dengan yang sesuai dari patch untuk v1.5.1.0. Dalam file tambalan asli ini adalah baris 167-177 dan 663-670.
sumber
Di EE v1.14.2.4 setelah menerapkan SUPEE-10752, saya harus menerapkan tambalan berikut juga untuk memperbaiki masalah ketika checkout diarahkan ke beranda alih-alih halaman sukses:
File: invalid_session_fix-2018-03-14-05-10-19.patch
Perbaikan di atas ditemukan di https://magento.com/tech-resources/download di bawah SUPEE-10570 > invalid_session_fix.patch (0 MB)
sumber
Saya mengalami masalah setelah tambalan ini. Saya tidak dapat mengatur "Metode Gratis" untuk "Tipe UPS" "United Parcel Service XML". Magento melempar kesalahan ketika metode apa pun dipilih di drop-down "Metode Gratis". Kesalahan: " Bidang" Metode Gratis Ups "memiliki nilai yang salah. "
Adakah yang pernah mengalami masalah yang sama dan mendapatkan solusinya?
Terima kasih sebelumnya!
sumber
Pada 1.6, tambalan ups.phtml rusak. Ini merujuk $ tersimpanOriginShipment, $ disimpanFreeShipment yang memiliki kesalahan ketik dalam 1,6 ($ stroredOriginShipment dan $ stroredFreeShipment). Lebih jauh lagi, referensi $ disimpanUpsType yang tidak ada sama sekali dalam 1,6.
sumber
Kami mengalami masalah pada 1.9.1.0 dan 1.9.2.4 (belum diuji pada orang lain). Itu tidak muncul di semua proyek kami, tetapi sudah berulang pada beberapa dari mereka. Kami pikir itu mungkin memengaruhi proyek yang SUPEE-10570v1 diinstal di beberapa titik.
Setelah menerapkan tambalan, jika pengguna masuk, mereka akan melihat halaman akun mereka dengan sangat baik. Namun, jika mereka mencoba untuk kembali ke halaman lain di situs ini, halaman tersebut akan berhenti merespons dan mereka akan melihat layar kosong atau 502 Bad Gateway. Hal ini disebabkan oleh PHP yang masuk ke loop tak terbatas dan baik segfaulting atau dihentikan oleh pengaturan .ini.
Saya sudah berhasil menggali bahwa masalah adalah rekursi tak terbatas pada baris yang beban yang
$customer
di\app\code\core\Mage\Customer\Helper\Data.php
,getPasswordTimestamp()
.Ketika melihat jejak tumpukan rekursi tak terbatas, itu terus berulang kembali ke ini. Entah bagaimana, tampaknya
->load()
akhirnya memanggilgetPasswordTimestamp()
metode.Solusi yang diberikan di /magento//a/235984/67252 berfungsi dengan baik, tapi saya ingin tahu apa yang terjadi.
sumber
Setelah menerapkan tambalan SUPEE 10752, Registrasi dan checkout membawa halaman sukses ke beranda. Ada saran?
sumber
Kami melihat halaman kosong di / checkout / * setelah menerapkan SUPEE-10752 dan kompilasi
versi: 1.9.1.0
Kondisi yang memicu: menerapkan SUPEE-10752 + mengaktifkan compiler + login sebagai pelanggan, lalu kunjungi / checkout / *
Hanya untuk memperjelas: Dengan kompiler yang dinonaktifkan semua hal berjalan dengan baik, dengan kompiler yang diaktifkan kita hanya bisa melihat halaman keranjang kosong ketika login tanpa entri log (bahkan setelah mengaktifkan semua log yang mungkin dan mode pengembang).
sumber