Patch Keamanan SUPEE-10570 - Kemungkinan masalah?


45

Magento telah merilis patch keamanan baru untuk M1, dan pembaruan untuk M1 dan M2.

Masalah apa yang harus saya perhatikan ketika meningkatkan atau menerapkan tambalan ini?

SUPEE-10570

SUPEE-10570, Magento Commerce 1.14.3.8 dan Open Source 1.9.3.8 berisi beberapa peningkatan keamanan yang membantu menutup eksekusi kode jarak jauh (RCE), skrip lintas situs (XSS, dan masalah lainnya. Rilis ini juga mencakup perbaikan fungsional kecil yang tercantum dalam catatan rilis.

MAGENTO 2.2.3, 2.1.12 DAN 2.0.18 PEMBARUAN KEAMANAN

Magento Commerce dan Open Source 2.2.3, 2.1.12 dan 2.0.18 berisi beberapa peningkatan keamanan yang membantu menutup Cross-Site Scripting (XSS), eksekusi kode jauh pengguna Admin (RCE) yang diotentikasi, dan kerentanan lainnya. Rilis termasuk perbaikan fungsional tambahan. Untuk mengetahui lebih lanjut tentang perbaikan fungsional, silakan lihat Catatan Rilis untuk Magento Commerce 2.0.18, 2.1.12, 2.2.3 dan Magento Open Source 2.0.18, 2.1.12, 2.2.3.


1
Untuk Open Source / Community Edition 1.x tidak ada perubahan template frontend yang disertakan, jadi setidaknya ini seharusnya tidak membuat terlalu banyak masalah. Namun - cadangan basis data sangat disarankan karena ada dua skrip instal (peningkatan) yang disertakan dalam tambalan ini. Detail lebih lanjut mungkin mengikuti setelah saya menambal lingkungan pertama.
Christoph Farnleitner

1
Jika Anda memiliki toko yang menggunakan kisi adminhtml yang disesuaikan yang menyertakan nama toko, tambalan sekarang luput dari kemungkinan untuk memperbaiki beberapa potensi eksploitasi berdasarkan perubahan nama toko dan rendering.
Andrew Quackenbos

Sejauh ini saya telah menambal 2 situs pada 1.9.0.1 tanpa masalah.
asdfasdfasf

1
Saya telah menerapkan tambalan pada 1.9.3.0, 1.9.0.1 dan 1.9.1.0 sejauh ini tidak ada masalah
David

2
Ini dari blog keamanan: magento.com/security/patches/supee-10570 CATATAN: Beberapa pelanggan mengalami masalah saat checkout ketika mencoba membuat akun saat check out. Patch pembaruan atau solusi untuk memperbaiki masalah ini akan segera tersedia. Jika Anda mengalami masalah ini sekarang, pertimbangkan untuk mengembalikan bagian kode yang menyebabkan masalah ini dengan menerapkan tambalan berikut: invalid_sesssion_fix.patch dari bagian Release Archives, SUPEE-10570
The Tankgirl

Jawaban:


29

Berikut adalah daftar file yang dimodifikasi oleh patch SUPEE-10570:

app/Mage.php 
app/code/core/Mage/Admin/Helper/Data.php
app/code/core/Mage/Admin/Model/Block.php 
app/code/core/Mage/Admin/Model/Resource/Block.php 
app/code/core/Mage/Admin/Model/User.php 
app/code/core/Mage/Adminhtml/Block/Catalog/Category/Edit/Form.php 
app/code/core/Mage/Adminhtml/Block/Catalog/Product/Grid.php 
app/code/core/Mage/Adminhtml/Block/Newsletter/Template/Grid/Renderer/Sender.php 
app/code/core/Mage/Adminhtml/Block/Sales/Order/Grid.php 
app/code/core/Mage/Adminhtml/Block/Sales/Order/View/Info.php 
app/code/core/Mage/Adminhtml/Block/System/Store/Edit/Form.php 
app/code/core/Mage/Adminhtml/Block/Tag/Assigned/Grid.php 
app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Renderer/Store.php 
app/code/core/Mage/Adminhtml/Block/Widget/Tabs.php 
app/code/core/Mage/Adminhtml/Model/Config/Data.php 
app/code/core/Mage/Adminhtml/Model/System/Store.php 
app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php 
app/code/core/Mage/Adminhtml/controllers/CustomerController.php 
app/code/core/Mage/Adminhtml/controllers/System/BackupController.php
app/code/core/Mage/Core/Model/Session/Abstract/Varien.php
app/code/core/Mage/Core/Model/Variable.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
app/code/core/Mage/Customer/etc/config.xml
app/code/core/Mage/Customer/sql/customer_setup/upgrade-1.6.2.0.1.1.1-1.6.2.0.1.1.2.php
app/code/core/Mage/Downloadable/etc/config.xml
app/code/core/Mage/Downloadable/etc/system.xml
app/code/core/Mage/Downloadable/sql/downloadable_setup/upgrade-1.6.0.0.2.1.1-1.6.0.0.2.1.2.php
app/code/core/Mage/ImportExport/Model/Import.php
app/code/core/Mage/ImportExport/Model/Import/Entity/Product.php
app/code/core/Mage/Shipping/Model/Info.php
app/code/core/Mage/Widget/controllers/Adminhtml/Widget/InstanceController.php
app/design/adminhtml/default/default/template/catalog/product/attribute/set/main.phtml
app/design/adminhtml/default/default/template/customer/tab/view.phtml
app/design/adminhtml/default/default/template/customer/tab/view/sales.phtml
app/design/adminhtml/default/default/template/dashboard/store/switcher.phtml
app/design/adminhtml/default/default/template/downloadable/product/composite/fieldset/downloadable.phtml
app/design/adminhtml/default/default/template/downloadable/product/edit/downloadable/links.phtml
app/design/adminhtml/default/default/template/downloadable/sales/items/column/downloadable/creditmemo/name.phtml
app/design/adminhtml/default/default/template/downloadable/sales/items/column/downloadable/invoice/name.phtml
app/design/adminhtml/default/default/template/downloadable/sales/items/column/downloadable/name.phtml
app/design/adminhtml/default/default/template/newsletter/preview/store.phtml
app/design/adminhtml/default/default/template/report/store/switcher.phtml
app/design/adminhtml/default/default/template/sales/order/view/info.phtml
app/design/adminhtml/default/default/template/store/switcher.phtml
app/design/adminhtml/default/default/template/store/switcher/enhanced.phtml
app/design/adminhtml/default/default/template/system/convert/profile/wizard.phtml
app/design/adminhtml/default/default/template/tax/rate/title.phtml
app/design/adminhtml/default/default/template/widget/form/renderer/fieldset.phtml
app/locale/en_US/Mage_Catalog.csv
app/locale/en_US/Mage_ImportExport.csv
lib/Zend/Mail/Transport/Sendmail.php

SUNTING

Akhirnya setelah disebarkan di situs web prod saya (CE 1.7.0.2), saya melihat masalah pemblokiran kritis (proses checkout diblokir).

Konteksnya: setelah alamat langkah 1, saya langsung membuat DAN mencatat pelanggan, ia hanya akan melihat langkah checkout berikutnya.

Masalahnya: setelah supee-10570, proses checkout rusak setelah langkah 1 (dalam hal pembuatan akun) dan pelanggan dialihkan ke beranda (dengan keranjang belanja kosong + logout) = tidak mungkin mencapai checkout.

Perbaikan darurat: Jika Anda mengalami masalah serupa dengan checkout / sesi pelanggan Anda, komentari baris 414-430 dari app / code / core / Mage / Core / Model / Session / Abstract / Varien.php (yang ditambahkan oleh tambalan , Lihat di bawah).

//         if ($this->useValidateSessionPasswordTimestamp()
//             && isset($validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP])
//             && isset($sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP])
//             && $validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP]
//             > $sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP] - $this->getCookie()->getLifetime()
//         ) {
//             return false;
//         }

//         if ($this->useValidateSessionExpire()
//             && isset($sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP])
//             && $sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP] < time() ) {
//             return false;
//         } else {
//             $this->_data[self::VALIDATOR_KEY][self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP]
//                 = $validatorData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP];
//         }

EDIT (2)

Saya pikir kondisi berikut akan selalu mengembalikan false (Mage_Core_Model_Session_Abstract_Varien di baris 414-419, terutama baris 417 + 418).

if ($this->useValidateSessionPasswordTimestamp()
            && isset($validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP])
            && isset($sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP])
            && $validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP]
            > $sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP] - $this->getCookie()->getLifetime()
        ) {
        return false;

VALIDATOR_PASSWORD_CREATE_TIMESTAMP akan selalu lebih besar dari VALIDATOR_SESSION_EXPIRE_TIMESTAMP. Stempel waktu sesi "kedaluwarsa" didefinisikan ulang pada pembuatan akun, jadi pasti lebih tua dari init sesi.

Jadi misalnya jika Anda membuat pelanggan selama checkout, ini akan mengembalikan false dan pelanggan hanya akan ditendang keluar (= mengakhiri checkout, redirect ke beranda & keranjang kosong). Cukup buruk.

Saya telah melaporkan masalah ini ke tim magento. Saya akan memberikan umpan balik di sini secepatnya.


EDIT (3)

Sebuah tambalan baru dihapus (pada halaman unduhan tambalan magento itu tertulis "SUPEE-10570 untuk CE 1.7.0.0 - PATCH DIPERBARUI DIHARAPKAN, JANGAN GUNAKAN (0,06 MB)").


EDIT (4) ~ 1 bulan setelah masalah pemblokiran awal dilaporkan

Hai! Semoga Anda semua barang (dan harap Anda tidak mempertahankan status tambalan awal sampai sekarang, kecuali pendapatan bisnis Anda mungkin sangat menurun ^^).

Saya perhatikan kalimat berikut dari halaman resmi: "Magento sekarang menyediakan tambalan yang diperbarui (SUPEE-10570v2) yang tidak lagi menyebabkan masalah ini. Namun, perhatikan bahwa tambalan baru ini tidak lagi melindungi terhadap dua sesi terkait penanganan risiko rendah yang terkait masalah keamanan yang diproteksi dari SUPEE-10570. " dari halaman resmi supee-10570.

Pada halaman rilis kami akhirnya dapat menemukan file v2 (PATCH_SUPEE-10570_CE_v1.7.0.2_v2-2018-03-29-08-52-37.sh).

Saya telah menyelidiki detail modifikasi. Akhirnya sepertinya tim magento baru saja memutuskan untuk menjatuhkan bagian keamanan patch. Semoga lubang keamanan ini tidak menyebabkan kerusakan serius (kritis rendah menurut catatan resmi).

Setelah mengembalikan v1 + menerapkan v2, harap berhati-hati file-file berikut dikembalikan sebagai keadaan awal (sebelum v1 diterapkan):

app/code/core/Mage/Adminhtml/controllers/CustomerController.php
app/code/core/Mage/Customer/controllers/AccountController.php
app/code/core/Mage/Customer/Helper/Data.php
app/code/core/Mage/Customer/Model/Resource/Customer.php

PS: jelas beberapa file lain juga dimodifikasi, silakan periksa sesuai.


1
@Icon: Saya baru saja melaporkan bug ini ke Magento. Saya akan menerbitkan jawabannya segera setelah saya menerima umpan balik resmi.
DarkCowboy

4
@Icon / Soleil: Sayangnya masih belum ada jawaban atau perbaikan resmi tentang permintaan perbaikan bug saya.
DarkCowboy

1
@DarkCowboy Saya baru saja memperhatikan bahwa begitu Anda pergi ke halaman unduh patch, Anda dapat melihat tim Magento menambahkan catatan di patch 1.7.0.0 dan 1.7.0.2. Sepertinya tambalan baru akan datang.
Ikon

3
Halo semuanya. Saya melihat tambalan baru telah ditambahkan ("PATCH_SUPEE-10570_CE_v1.7.0.2_v1-2018-02-28-04-54-53.sh"). Anda dapat melihat perbedaannya di sini (panel kiri adalah patch 1 "PATCH_SUPEE-10570_CE_v1.7.0.2_v1-2018-02-23-06-28-18.sh"): diffchecker.com/uGON91aR . Jadi tidak ada perbaikan pada tambalan baru ?! Selain itu, pemberitahuan "... UPDATED PATCH EXPECTED, DO NOT USE" telah hilang. Jadi saya agak bingung apa yang dilakukan tim inti magento dengan masalah ini.
DarkCowboy

1
FYI, V2 patch masih mencantumkan "SUPEE-10570_CE_v1.9.2.4 | CE_1.9.2.4 | v1" diapp/etc/applied.patches.list
Moose

9

(tidak yakin apakah ini dalam catatan rilis dari awal)

Masalah Dikenal

Dua masalah yang diketahui ini terkait dengan penggunaan tag HTML dalam atribut SKU produk:

  • Jika Anda mencoba mengimpor produk yang berisi tag HTML di atribut SKU, Magento menampilkan kesalahan ini pada tahap validasi data (yaitu, ketika Anda mengklik Periksa data ):
 Invalid value in SKU column. HTML tags are not allowed.
  • Jika Anda mencoba membuat atau mengedit produk di panel Admin dan nilai atribut SKU produk berisi tag HTML, Magento melempar kesalahan ini ketika Anda mencoba menyimpan produk: HTML tags are not allowed in SKU attribute.

Dari catatan tempel :

Jika tambalan gagal untuk diterapkan saat menambal lib/Zend/Mail/Transport/Sendmail.php, itu mungkin berarti instalasi Magento Anda sebelumnya ditambal dengan SUPEE-9652v1, bukan SUPEE-9652v2. Solusi yang disarankan adalah mengembalikan patch SUPEE-9652v1 dan menerapkan SUPEE-9652v2 sebelum menerapkan SUPEE-10570.


7

Saya memiliki masalah yang sama dengan @DarkCowboy setelah menerapkan tambalan ke Magento CE 1.7.0.2.

Setelah memilih untuk mendaftar sebagai pelanggan baru selama checkout, menempatkan pesanan menciptakan pesanan dan pelanggan, tetapi alih-alih menampilkan halaman keberhasilan pesanan, saya diarahkan ke beranda dan keluar.

Solusi yang saya temukan adalah membalik urutan blok kode dalam perubahan menjadi app/code/core/Mage/Core/Model/Session/Abstract/Varien.php.

Membandingkan versi yang ditambal dengan file yang sama di Magento CE 1.9.3.8, saya menemukan blok baru untuk memvalidasi kedaluwarsa sesi dan timestamp kata sandi berada dalam urutan yang berbeda.

Magento CE 1.9.3.8 - Baris 476-491:

    if ($this->useValidateSessionExpire()
        && isset($sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP])
        && $sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP] < time() ) {
        return false;
    } else {
        $this->_data[self::VALIDATOR_KEY][self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP]
            = $validatorData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP];
    }
    if ($this->useValidateSessionPasswordTimestamp()
        && isset($validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP])
        && isset($sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP])
        && $validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP]
        > $sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP] - $this->getCookie()->getLifetime()
    ) {
        return false;
    }

Magento CE 1.7.0.2 - Baris 414-430:

    if ($this->useValidateSessionPasswordTimestamp()
        && isset($validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP])
        && isset($sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP])
        && $validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP]
        > $sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP] - $this->getCookie()->getLifetime()
    ) {
        return false;
    }

    if ($this->useValidateSessionExpire()
        && isset($sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP])
        && $sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP] < time() ) {
        return false;
    } else {
        $this->_data[self::VALIDATOR_KEY][self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP]
            = $validatorData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP];
    }

Ini menghasilkan nilai $validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP]lebih besar dari itu $sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP] - $this->getCookie()->getLifetime(), artinya metode selalu mengembalikan false dan validasi gagal.

Mengubah kode di Magento CE 1.7.0.2 agar sesuai dengan versi di Magento CE 1.9.3.8 memperbaiki masalah.

Kode yang dihasilkan untuk Magento CE 1.7.0.2 - Lines 414-430:


    if ($this->useValidateSessionExpire()
        && isset($sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP])
        && $sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP] < time() ) {
        return false;
    } else {
        $this->_data[self::VALIDATOR_KEY][self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP]
            = $validatorData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP];
    }
    if ($this->useValidateSessionPasswordTimestamp()
        && isset($validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP])
        && isset($sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP])
        && $validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP]
        > $sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP] - $this->getCookie()->getLifetime()
    ) {
        return false;
    }

Saya sarankan untuk membuat file patch Anda sendiri dan menerapkan langsung ke file inti (ini adalah cara saya biasanya memperbaiki bug di inti). Ini akan membuatnya mudah untuk dikembalikan jika Magento mengeluarkan versi 2 dari tambalan.


Hai Dave. Sepertinya Anda mengalami masalah yang sama dari saya. Mengenai perbaikan Anda, dengan inversi Anda kondisi kedua tidak akan diuji sama sekali ... Saya akan menyelidiki data sesi ini.
DarkCowboy

4
Pembaruan untuk 1.7.0.2 diharapkan pertengahan Maret. (v2 tambalan), masalah dikonfirmasi.
Piotr Kaminski

Adakah yang menguji apakah solusi ini benar-benar membuat cek stempel waktu penggantian kata sandi berfungsi, atau jika membuka kembali lubang keamanan yang mereka coba tempel? Catatan: Jika Anda tidak peduli dengan manfaat keamanan, Anda cukup menonaktifkan cap waktu perubahan kata sandi yang memeriksa semuanya dengan useValidateSessionPasswordTimestamp()kembali false. (perubahan satu baris dalam file yang sama)
Eric Seastrand

Hai. Kami telah mengevaluasi, bahwa masalah "redirect with cart kosong" masih ada dengan urutan validasi yang diubah. Kami mematikan pemeriksaan "useValidateSessionPasswordTimestamp" hingga, magento membuat pembaruan.
Steven Fritzsche

6

Kami melihat halaman kosong di / checkout / cart setelah menerapkan SUPEE-10570 dan kompilasi. 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).

Solusinya adalah mengubah fungsi getPasswordTimestamp()dalam app/code/core/Mage/Customer/Helper/Data.php(tentu saja berarti app/code/local/Mage/Customer/Helper/Data.php:!) Dan menggunakan Mage::getSingleton('core/resource')alih-alih Mage::getModel('customer/customer')atau Mage::getSingleton('customer/session'). Jadi ganti seluruh fungsi misalnya dengan baris kode berikut:

    $resource = Mage::getSingleton('core/resource');
    $readConnection = $resource->getConnection('core_read');
    $query = 'SELECT * FROM ' . $resource->getTableName('customer_entity').' WHERE `entity_id` = '.$customerId;
    $results = $readConnection->fetchAll($query);
    $result=$results[0];
    $date_created = Varien_Date::toTimestamp($result['created_at']);
    return $date_created;

Setelah kompilasi masalah hilang. Adakah yang lain dengan masalah ini?

Penjelasan dalam bahasa Jerman di sini .


Ini dengan berbagai cara beberapa saran dan kode terburuk yang pernah dilihat di sini. Tolong jangan lakukan ini di rumah.
pong

Sama persis dengan saya. Patch ini tidak berfungsi dengan kompiler diaktifkan.
Rafael Patro

Di 1.9.3.9 ini bekerja dengan baik untuk saya.
TonkBerlin

4

1.7.0.0

Tambalan: PATCH_SUPEE-10570_CE_v1.7.0.0_v1-2018-02-23-06-37-58.sh

Kesalahan ini terjadi jika Anda belum pernah menerapkan SUPEE-9652 atau SUPEE-9767 sebelumnya

patching file lib/Zend/Mail/Transport/Sendmail.php
Hunk #1 FAILED at 119.
Hunk #2 FAILED at 130.

Terapkan tambalan itu untuk memperbaiki masalah.


2
Pastikan Anda menginstal 9652 dan 9767
Ikon

Memang, kami menguji SUPEE-10570 pada semua versi vanilla Magento sejak 1.6.0.0 dan semuanya berfungsi. Tetapi hanya jika Anda menerapkan semua tambalan sebelumnya. Di sini Anda dapat mencari tambalan mana yang diperlukan: docs.google.com/spreadsheets/d/…
Jeroen Vermeulen - MageHost

4

1.7.0.0

Patch PATCH_SUPEE-10570_CE_v1.7.0.0_v1-2018-02-23-06-37-58.sh Fileapp/code/core/Mage/Core/Model/Session/Abstract/Varien.php

Patch untuk 1.7.0.0 hanya menambahkan satu konstanta:

+    const VALIDATOR_PASSWORD_CREATE_TIMESTAMP   = 'password_create_timestamp';

Namun, itu menambahkan penggunaan dua konstanta baru, terutama yang ini:

+        if ($this->useValidateSessionPasswordTimestamp()
+            && isset($validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP])
+            && isset($sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP])
+            && $validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP]
+            > $sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP] - $this->getCookie()->getLifetime()
+        ) {
+            return false;
+        }

Ini menghasilkan kesalahan:

PHP Fatal error:  Uncaught Error: Undefined class constant 'VALIDATOR_SESSION_EXPIRE_TIMESTAMP' in 
app/code/core/Mage/Core/Model/Session/Abstract/Varien.php:406
Stack trace:
#0 
app/code/core/Mage/Core/Model/Session/Abstract/Varien.php(358): Mage_Core_Model_Session_Abstract_Varien->_validate()
#1 
app/code/core/Mage/Core/Model/Session/Abstract/Varien.php(176): Mage_Core_Model_Session_Abstract_Varien->validate()
#2 
app/code/core/Mage/Core/Model/Session/Abstract.php(84): Mage_Core_Model_Session_Abstract_Varien->init('core', 'frontend')
#3 
app/code/core/Mage/Core/Model/Session.php(42): Mage_Core_Model_Session_Abstract->init('core', 'frontend')
#4 
app/code/core/Mage/Core/Model/Config.php(1354): Mage_Core_Model_Session->__construct(Array)

Cara mengatasinya:

Tambahkan definisi untuk konstanta kedua di atas atau di bawah konstanta pertama yang ditambahkan oleh tambalan ini.

const VALIDATOR_SESSION_EXPIRE_TIMESTAMP = 'session_expire_timestamp';

Sejauh ini saya belum melihat masalah ini di 1.9. atau 1.14.x tambalan, karena mereka mendefinisikan konstanta dengan benar.


Ini ditambal dengan menambahkan const VALIDATOR_SESSION_EXPIRE_TIMESTAMP = 'session_expire_timestamp';ke bagian atas file, seperti dilakukan di sebagian besar versi lain dari tambalan ini.
Tyler V.

Yap tampaknya spesifik untuk patch 1.7.0.0
danmentzer

Tyler dapat Anda tambahkan perbaikan ke jawaban Anda yang sebenarnya daripada bagian komentar.
danmentzer

1
Juga saya hanya akan mencatat bahwa ini juga efek tambalan untuk versi EE dari tambalan juga EE 1.12.0.0
danmentzer

3

Hal pertama yang harus Anda periksa, jika sebelumnya Anda menerapkan versi SUPEE-6788 atau SUPEE-7405 yang benar, jika tidak mengembalikan versi yang salah dan kemudian menerapkan versi SUPEE-6788 / SUPEE-7405 yang benar.

Kemudian coba lagi untuk menerapkan SUPEE-10570.


2

File di bawah ini diperbarui / ditambahkan setelah patch SUPEE - 10570 diterapkan di EE

@DarkCowboy memberikan daftar file selain dari file EE adalah:

    app/code/core/Enterprise/Cms/Block/Adminhtml/Cms/Hierarchy/Edit/Form.php
    app/code/core/Enterprise/Cms/Block/Adminhtml/Cms/Hierarchy/Widget/Chooser.php
    app/code/core/Enterprise/Cms/Block/Adminhtml/Cms/Page/Edit/Tab/Hierarchy.php
    app/code/core/Enterprise/Cms/Block/Hierarchy/Menu.php
    app/code/core/Enterprise/Customer/Block/Adminhtml/Customer/Attribute/Edit/Tab/Main.php
    app/code/core/Enterprise/GiftRegistry/Model/Observer.php
    app/code/core/Enterprise/Reward/Block/Adminhtml/Customer/Edit/Tab/Reward/Management/Update.php
    app/code/core/Enterprise/Rma/Model/Shipping/Info.php
    app/code/core/Enterprise/Staging/Block/Adminhtml/Backup/Grid.php
    app/code/core/Enterprise/Staging/Block/Adminhtml/Staging/Grid.php
 app/design/adminhtml/default/default/template/enterprise/cms/hierarchy/edit.phtml
    app/design/adminhtml/default/default/template/enterprise/cms/hierarchy/manage.phtml
    app/design/adminhtml/default/default/template/enterprise/cms/hierarchy/scope/switcher.phtml
    app/design/adminhtml/default/default/template/enterprise/cms/hierarchy/widget/radio.phtml
    app/design/adminhtml/default/default/template/enterprise/cms/page/preview/store.phtml
    app/design/adminhtml/default/default/template/enterprise/customer/website/switcher.phtml
    app/design/adminhtml/default/default/template/enterprise/invitation/view/tab/general.phtml
    app/design/adminhtml/default/default/template/enterprise/staging/log/information/create.phtml
    app/design/adminhtml/default/default/template/enterprise/staging/staging/edit/tabs/website.phtml
    app/design/adminhtml/default/default/template/enterprise/staging/staging/edit/tabs/website/store.phtml
    app/design/adminhtml/default/default/template/enterprise/staging/staging/merge/settings/website.phtml
    app/design/adminhtml/default/default/template/enterprise/store/switcher.phtml
    app/design/adminhtml/default/default/template/enterprise/store/switcher/enhanced.phtml
    app/design/adminhtml/default/default/template/merchandiser/new/page/html/top-buttons.phtml
    app/design/frontend/enterprise/default/template/cms/hierarchy/pagination.phtml

Beberapa catatan penting

password_created_at dibuat dalam tabel atribut pelanggan.

app/code/core/Mage/Adminhtml/controllers/CustomerController.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
app/code/core/Mage/Customer/sql/customer_setup/upgrade-1.6.2.0.5.1.1-1.6.2.0.5.1.2.php

Ini adalah file yang digunakan untuk pembuatan dan validasi. masalah sesi terjadi pada checkout atau cek masuk pengguna, di atas salah satu file ditimpa di kumpulan lokal Anda atau Setiap password_created_atatribut dibuat di tabel atribut pelanggan Anda dan nilai yang tepat disimpan dalam tabel itu.


Saya tidak dapat menemukan password_created_at di database CE di mana masalahnya juga diberikan.
TonkBerlin

periksa aplikasi file ini / kode / inti / Penyihir / Pelanggan / sql / customer_setup / upgrade-1.6.2.0.5.1.1-1.6.2.0.5.1.2.php
Rama Chandran M

2

Versi magento saya adalah ver. 1.9.1.0.

Kami melihat halaman kosong di / checkout / cart setelah menerapkan SUPEE-10570 dan kompilasi. 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).

Sebab:

  1. fungsi getPasswordTimestamp akan memanggil dua kali ketika masuk dan mengunjungi / checkout / kereta.

  2. kompiler dinonaktifkan kedua pekerjaan doa.

  3. aktifkan kompiler hanya pekerjaan doa pertama, doa kedua gagal.

adakah yang bisa menjelaskan dan memberikan solusi yang baik?


2

Masalah dengan 1.7.0.2 yang saya perhatikan adalah sebagai berikut:

  1. Tambahkan Produk ke Troli dan pergi ke Checkout

  2. Klik "Daftar"

  3. Isi semua informasi pesanan yang diperlukan termasuk, detail pembayaran, dll.
  4. Klik Pesanan Lengkap.

MASALAH MULAI DI SINI

5. Secara otomatis dialihkan ke HOME HALAMAN. Anda tidak dapat melihat konfirmasi nomor pesanan. Namun pada kenyataannya, pesanan dilakukan dan akun pelanggan dibuat.


sudahkah Anda menemukan solusi untuk ini? Saya menghadapi masalah yang sama.
Parth Thummar

1
V2 tambalan keluar, masalah terpecahkan
Ikon

2

Saya bertemu dengan masalah yang sama, Magento 1.9.3.8 menambahkan metode ini ke dalam kelas Mage_Customer_Helper_Data

/**
 * Get customer password creation timestamp or customer account creation timestamp
 *
 * @param $customerId
 * @return int
 */
public function getPasswordTimestamp($customerId)
{
    /** @var $customer Mage_Customer_Model_Customer */
    $customer = Mage::getModel('customer/customer')
        ->setWebsiteId(Mage::app()->getStore()->getWebsiteId())
        ->load((int)$customerId);
    $passwordCreatedAt = $customer->getPasswordCreatedAt();

    return is_null($passwordCreatedAt) ? $customer->getCreatedAtTimestamp() : $passwordCreatedAt;
}

Jika Anda mengesampingkan kelas ini di dalam folder lokal (bukan praktik terbaik), kami mungkin memiliki kesalahan yang dihasilkan oleh kelas ini.


2

Patch ini telah merusak beberapa manajer hierarki CMS untuk pengguna EE.

Ini karena tambalan berikut yang bertanggung jawab untuk melarikan diri dari toko / nama situs web dan memperbaiki APPSEC-1873/1979/1980.

diff --git app/design/adminhtml/default/default/template/enterprise/cms/hierarchy/manage.phtml app/design/adminhtml/default/default/template/enterprise/cms/hierarchy/manage.phtml
index e45298c..8bee617 100644
--- app/design/adminhtml/default/default/template/enterprise/cms/hierarchy/manage.phtml
+++ app/design/adminhtml/default/default/template/enterprise/cms/hierarchy/manage.phtml
@@ -36,7 +36,7 @@
             <div class="cms-popup-description"></div>
             <div class="fieldset">
                 <div class="cms-hierarchy manage-form">
-                    <?php echo $this->getFormHtml() ?>
+                    <?php echo $this->escapeHtml($this->getFormHtml()); ?>
                 </div>
             </div>
         </div>

Seharusnya menampilkan pemilih toko di sebelah kiri tetapi sebaliknya menunjukkan html di sebelah kanan. Jika Anda benar-benar membutuhkan fungsi ini, Anda perlu melakukan panggilan keamanan vs fungsionalitas yang tidak bagus.

tampilkan hierarki yang rusak


0

Kesalahan yang persis sama dengan Tyler, di Magento 1.9.2.4 Patch PATCH_SUPEE-10570_CE_v1.9.2.4_v1-2018-02-28-04-53-53.sh

checking file lib/Zend/Mail/Transport/Sendmail.php
Hunk #1 FAILED at 119.
Hunk #2 FAILED at 129.
2 out of 2 hunks FAILED

periksa Anda telah menginstal tambalan sebelumnya. patch 9767 khusus
Rama Chandran M

Jalankan cek di www.magereport.com dan itu mengkonfirmasi bahwa semua tambalan telah diinstal.9767 juga.
Roy Toledo

Saya akan memeriksa dan menyediakan ans
Rama Chandran M

1
@royToledo Pastikan Anda telah menerapkan patch SUPEE-9652 juga
Tyler V.

0

Jika Anda memiliki beberapa alat pendeteksi tambalan, Anda mungkin perlu memodifikasi pendeteksian SUPEE-9562 karena SUPEE-10570memodifikasi file yang sama:

lib/Zend/Mail/Transport/Sendmail.php

0

Patch diubah oleh Magento diam-diam. Di sini ditunjukkan dengan tambalan untuk Magento 1.8.1.0-1.9.0.1. Pada unduhan pertama saya mendapat file

PATCH_SUPEE-10570_CE_v1.9.0.1_v1-2018-02-23-06-18-06.sh

Beberapa hari kemudian saya mendapat file berikut

PATCH_SUPEE-10570_CE_v1.9.0.1_v1-2018-02-28-04-54-29.sh

Diff menunjukkan bahwa file sebelumnya berisi file dari Magento Enterprise Edition yang berisi lisensi yang salah "Perjanjian Lisensi Pengguna Akhir Magento Enterprise Edition". Ini telah diperbaiki ke "Open Software License (OSL 3.0)".


0

Anda mungkin mendapatkan kesalahan berikut

Hunk #3 FAILED at 17 setelah baris

checking file app/code/core/Enterprise/Cms/Block/Adminhtml/Cms/Page/Edit/Tab/Hierarchy.php

Itu terjadi pada saya di versi Magento 1.10.0.2EE. Itu terjadi karena patch SUPEE-6285 tidak diterapkan.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.