Magento telah merilis patch keamanan baru untuk M1, dan pembaruan untuk M1 dan M2.
Rilis ini termasuk perbaikan keamanan kritis. "Kami sangat menyarankan agar semua pedagang memperbarui secepat mungkin."
Masalah apa yang harus saya perhatikan ketika meningkatkan atau menerapkan tambalan ini?
SUPEE-11086, Magento Commerce 1.14.4.1 dan Open Source 1.9.4.1 berisi beberapa peningkatan keamanan yang membantu menutup eksekusi kode jarak jauh (RCE), skrip lintas situs (XSS), pemalsuan permintaan lintas situs (CSRF) dan kerentanan lainnya.
Magento 2.3.1, 2.2.8 dan 2.1.17 Pembaruan Keamanan
Versi ini berisi beberapa pembaruan fungsional dan keamanan. Risiko: Penting untuk Perdagangan Magento dan Sumber Terbuka Magento sebelum 2.1.17, 2.2.8 dan 2.3.1.
Jawaban:
Masalah terbesar, yang ditemukan:
Mage::log()
bekerja secara tidak benar. Jika Anda memanggil fungsi ini dengan file log kustom (dan belum ada), log tidak akan ditulis ke file, karena validasi tambahan, ditambahkan dalam SUPEE-11086.sumber
Mage::log()
Mage::log()
metode ini.Penting: nama tambalan menyertakan versi tambalan tertinggi yang berlaku. Jadi tambalan untuk 1.9.3.10 akan berlaku untuk 1.9.3.10, 1.9.3.9, .... ke tambalan lain. Kami akan mencoba meningkatkan penamaan di rilis berikutnya dan Anda juga dapat menggunakan https://github.com/steverobbins/magedownload-cli karena akan melihat metadata versi dengan benar melalui API.
sumber
Seperti yang lain, file log saya benar-benar berhenti menulis data.
Sumber Bug - File Log Tidak Menulis Data
Di
app/Mage.php
mereka membuat perubahan ini:yang mencari konfigurasi untuk daftar ekstensi file yang disetujui koma yang terpisah. Namun mereka TIDAK menambahkan daftar ini di konfigurasi - bahkan bukan opsi di Admin Mage untuk kita konfigurasikan sendiri.
Solusi untuk Bug - File Log Tidak Menulis Data
Untuk mengatasi ini, cukup buat entri ke dalam database di
core_config_data
tabel.INSERT INTO core_config_data VALUES ( NULL, 'default', 0, 'dev/log/allowedFileExtensions', 'log,txt,html,csv' );
Bersihkan cache objek juga dan Anda akan melihat data menulis ke file log sekali lagi.
ls -lrt var/log/ | tail
Untuk referensi, masalah ini pada EE 1.14.2.0 dengan semua tambalan keamanan diterapkan.
Saya memang membuka tiket dengan Dukungan Magento tentang masalah ini tetapi belum menerima tanggapan dari teknisi. Saya dalam antrian.
Yang benar-benar membingungkan saya tentang bug ini adalah Magento sudah memiliki metode untuk memvalidasi ekstensi file log yang mereka tambahkan melalui SUPEE-10415 pada akhir 2017.
app/code/core/Mage/Log/Helper/Data.php
Mengapa mereka tidak menggunakan kembali logika itu alih-alih mencoba menemukan kembali roda log yang tidak lengkap?
sumber
Mage::log()
gagal menulis apa pun ke file log jika awalnya tidak ada. Ini disebabkan olehisValid
fungsiZend_Validate_File_Extension
melempar kesalahan yang tidak ditemukan saat meneleponZend_Loader::isReadable($value)
. Saya sementara ini memperbaiki ini dengan pindahisValid
ke try / catch setelah file log benar-benar dibuat dan kemudian menghapus file jika validasi gagal:Ini jelas merupakan solusi sementara sampai kami memiliki sesuatu yang sedikit lebih solid
sumber
Kemungkinan masalah dengan penambalan 1.9.3.10
Di tambalan kita memiliki:
Namun, melihat kode pada 1.9.3.10 (via mage LTS) Saya tidak melihat kode itu dalam pertanyaan:
https://github.com/OpenMage/magento-lts/blob/1.9.3.x/app/code/core/Mage/Adminhtml/Block/Customer/Group/Edit.php
TAPI, itu ada untuk 1.9.4
https://github.com/OpenMage/magento-lts/blob/1.9.4.x/app/code/core/Mage/Adminhtml/Block/Customer/Group/Edit.php
Kemungkinan alasannya adalah tambalan yang hilang sebelumnya tidak diterapkan.
sumber
Mencoba memasang tambalan di Magento 1.9.0.1 menggunakan PATCH_SUPEE-11086_CE_1.9.1.0_v1-2019-03-26-03-03-13.sh saya menemukan kesalahan ini
Saya memperbaiki ini dengan menghapus kode berikut dari 'app / etc / config.xml' dan kemudian menjalankan tambalan lagi
sumber
Saya juga agak bingung tentang penamaan untuk patch M1.
Untuk tambalan yang lebih lama, mereka menamakannya suka
SUPEE-10975 for CE 1.9.3.4-1.9.3.10
atauSUPEE-10888 for CE 1.9.2.0-1.9.2.4 (0.07 MB)
tetapi sekarang hanya membahas satu versiPATCH_SUPEE-11086_CE_1.9.3.10_v1.sh
.Apakah tambalan saat ini menangani semua rilis dari rilis minor atau hanya yang terakhir?
Saya membuat tes dengan toko 1.9.3.1 dan semuanya berjalan tetapi saya tidak yakin apakah itu akurat untuk rilis lain?
sumber
Istirahat penebangan di Magento 1.9. Untuk memperbaiki logging di patch SUPEE-11086:
Di app / Mage.php:
Sumberdaya: https://gist.github.com/piotrekkaminski/0596cae2d25bf467edbd3d3f03ab9f8f
Saya harap ini membantu!
sumber
Semua file PHP baru di patch untuk M1 memiliki vars template yang tidak diproses
Bukan masalah tetapi terlihat tidak akurat. Saya memiliki perasaan yang sama setelah SUPEE-10975.
sumber
Saya perhatikan ada masalah dengan file log yang tidak lagi dibuat dan hanya ditulis jika file log sudah ada. Ini sepertinya disebabkan oleh baris:
dari app / Mage.php. Saya memperbaikinya dengan menggunakan logika lama. Jadi ganti baris di atas dengan yang berikut ini:
sumber
Di patch 10975 ada kesalahan pada saat ini. Pernyataan pengembalian tidak ada. Mungkin Anda memperbaiki bug ini setelah menerapkan patch 10975 atau mengabaikan perubahan. Bug diperbaiki pada 11086. Jika baris kode ini telah disesuaikan / diabaikan oleh Anda, itu akan menghasilkan kesalahan yang Anda jelaskan ketika menerapkan tambalan baru. Jika Anda sudah memperbaiki bug sendiri, maka cukup hapus blok di file tambalan dan jalankan tambalan lagi.
sumber
Menggunakan SUPEE-11086 | CE_1.9.1.0 seperti yang disarankan oleh Ryan Hoerr di atas.
Menerapkan SUPEE-11086 | CE_1.9.1.0 | v1 | 3f120e6a795eed55267bd2b9164b3984913ddfc9 | Jumat 22 Maret 18:40:11 2019 +0000 | 4f3f369e723fe31212cb5be9adda113f891d7f62..HEAD
Ke CE_1.9.2.1
Saya mendapatkan Gagal pada setiap file.
Saya telah berhasil menerapkan tambalan ke repo lain.
Kode inti tidak tersentuh.
Daftar tambalan yang diterapkan
sumber
Masalah dengan M1.9.3.7 Patch PATCH_SUPEE-11086_CE_1.9.3.10_v1.sh
sumber
Dapat mengonfirmasi adanya masalah saat mencoba menerapkan
SUPEE-11086
versi 1.9.1.1 yang baru diunduh dan ditambal sepenuhnya, termasuk semuanya hingga dan termasuk Patch Dasbor Admin Dashboard -MPERF-10509-CE-2019-03-13-06-31-24.diff
Tambalan gagal di file berikut.
File-file ini tidak memiliki perubahan dari komit awal unduhan v1.9.1.1. Menyalin file dari 1.9.2.4 instal, menerapkan SUPEE-11086 dan kemudian membandingkan dengan sumber v1.9.4.1 mengonfirmasi mereka sekarang cocok.
Magento v1.9.1.1
tampaknya menjadi sedikit masalah anak ...sumber
Dapat mengonfirmasi adanya masalah saat mencoba menerapkan
SUPEE-11086
versi 1.9.3.0 yang baru diunduh dan ditambal sepenuhnya, termasuk semuanya hingga dan termasuk Patch Dasbor Admin Dashboard -MPERF-10509-CE-2019-03-13-06-31-24.diff
Tambalan gagal di app / config.xml karena simpul di bawah ini tidak ada. Tambahkan simpul sebelum menjalankan SUPEE-11086, tidak ada masalah.
sumber
Saya menemukan masalah baru dengan model
Mage_Eav_Model_Attribute_Data_File
Pada entitas pelanggan, saya telah menambahkan atribut unggahan file. Atribut ini tidak diperlukan, dan ketika saya ingin menghapus file tanpa mengunggah yang baru, penghapusan tidak berfungsi, karena nilai atribut tidak divalidasi melalui metode baru
setAttributeValidationAsPassed()
Perbaikan cepat yang saya lakukan adalah dalam metode ini
validateValue($value)
Masalah ini tampaknya ada di semua rilis Magento 1.x sejak itu
SUPEE-11086
sumber
Magento 1.9.3.1
Masalah terjadi ketika mencoba menambal CE 1.9.3.1 menggunakan patch PATCH_SUPEE-11086_CE_1.9.3.10_v1.sh:
sumber