Güvenlik Düzeltme Eki SUPEE-10570 - Muhtemel sorunlar?


45

Magento, M1 için yeni bir güvenlik düzeltme eki ve M1 ve M2 için güncellemeler yayınladı.

Bu düzeltme ekini yükseltirken veya uygularken hangi sorunları dikkate almalıyım?

SUPEE-10570

SUPEE-10570, Magento Commerce 1.14.3.8 ve Açık Kaynak 1.9.3.8, uzaktan kod çalıştırma (RCE), siteler arası komut dosyası çalıştırma (XSS ve diğer sorunları kapatmaya yardımcı olan birden fazla güvenlik geliştirmesi içerir.) Bu sürümlerde ayrıca listelenen küçük fonksiyonel düzeltmeleri de içerir. sürüm notları.

MAGENTO 2.2.3, 2.1.12 VE 2.0.18 GÜVENLİK GÜNCELLEME

Magento Commerce ve Open Source 2.2.3, 2.1.12 ve 2.0.18, Siteler Arası Komut Dosyası (XSS), kimliği doğrulanmış Yönetici kullanıcısı uzaktan kod yürütme (RCE) ve diğer güvenlik açıklarını kapatmaya yardımcı olan birden fazla güvenlik geliştirmesi içerir. Bültenleri ek fonksiyonel düzeltmeleri içerir. İşlevsel düzeltmeler hakkında daha fazla bilgi edinmek için lütfen Magento Commerce 2.0.18, 2.1.12, 2.2.3 ve Magento Açık Kaynak 2.0.18, 2.1.12, 2.2.3 için Sürüm Notlarına bakınız.


1
Açık Kaynak / Topluluk Sürümü 1.x için hiçbir ön uç şablon değişikliği dahil edilmemiştir, bu nedenle bu en azından çok fazla sorun yaratmamalıdır. Ancak , bu düzeltme ekinde yer alan iki tane yükleme (yükseltme) komut dosyası bulunduğundan bir veritabanı yedeği önerilir . İlk ortamları yattıktan sonra daha fazla detay takip edebilir.
Christoph Farnleitner

1
Mağaza adını içeren özelleştirilmiş bir adminhtml ızgarası kullanan mağazalarınız varsa, yama artık mağaza adının değiştirilmesi ve oluşturulmasına bağlı olarak bazı potansiyel istismarları gidermek için ondan kaçar.
Andrew Quackenbos,

Şimdiye kadar 1.9.0.1 tarihinde 2 siteyi sorunsuzca yamaladım.
asdfasdfasf

1
Düzeltme ekini 1.9.3.0, 1.9.0.1 ve 1.9.1.0 tarihlerinde şimdiye kadar sorun yok
David

2
Bu güvenlik blogundan: magento.com/security/patches/supee-10570 NOT: Bazı müşteriler kontrol ederken hesap oluşturmaya çalışırken ödeme yaparken sorun yaşıyor. Bu sorunu çözmek için bir güncelleme yaması ya da geçici bir çözüm kısa bir süre sonra hazır olacaktır. SUPEE-10570 bölüm, invalid_sesssion_fix.patch Yayın arşivlerinden: Hemen bu sorunu yaşıyorsanız, aşağıdaki yamayı uygulayarak bu soruna neden kodu bölümünü geri alma seçeneğini değerlendirin
Tankgirl

Yanıtlar:


29

SUPEE-10570 yamasının değiştirdiği dosyaların listesi:

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

DÜZENLE

Sonunda prod web siteme (CE 1.7.0.2) dağıttıktan sonra, kritik bir engelleme sorununu fark ettim (ödeme işlemi engellendi).

Bağlam: 1. adım adresinden sonra, doğrudan müşteriyi oluĢturup VE günlüğe kaydederim, yalnızca bir sonraki ödeme adımını görmelidir.

Sorun: supee-10570'ten sonra, ödeme işlemi 1. adımdan sonra (hesap oluşturma durumunda) bozuldu ve müşteri, ana sayfaya yönlendirildi (alışveriş sepeti boş + oturumu kapattığında) = ödeme yapması imkansız.

Acil durum düzeltmesi: Ödeme / müşteri oturumunuzla benzer bir sorunla karşılaştığınızda, 414-430 satırlarını app / code / core / Mage / Core / Model / Session / Abstract / Varien.php (yama tarafından eklenenler) yorumlayın , aşağıya bakınız).

//         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)

Aşağıdaki koşulun her zaman yanlış döneceğini düşünüyorum (Mage_Core_Model_Session_Abstract_Varien, 414-419 satırlarında, özellikle 417 + 418 satırlarında).

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 her zaman VALIDATOR_SESSION_EXPIRE_TIMESTAMP öğesinden daha büyük olacaktır. "Süre sonu" zaman damgası, hesap oluşturma sırasında yeniden tanımlandı, bu da kaçınılmaz olarak oturum açılışından daha eski.

Mesela, ödeme sırasında müşteriyi yaratırsanız, bu yanlış olur ve müşteri yeni atılır (= ödemeyi sonlandır, ana sayfaya & sepete boş yönlendir). Oldukça kötü.

Bu konuyu Magento ekibine bildirdim. Burada en kısa sürede geri bildirim vereceğim.


EDIT (3)

Yeni bir yama silinir (magento yaması indirme sayfasında "CE 1.7.0.0 için SUPEE-10570 - GÜNCELLEME YOLU BEKLİYOR, KULLANMAYIN (0,06 MB)" yazınız).


EDIT (4) ~ 1 ay önce yapılan ilk engelleme sorunu bildirildi

Selam! Umarım hepiniz malsınızdır (ve işletme geliriniz büyük olasılıkla ciddi şekilde düşmediyse, başlangıçtaki yama durumunu şu ana kadar sürdürmediniz umarım) ^^.

Resmi sayfadan şu cümleyi fark ettim: "Magento artık bu soruna neden olmayan güncellenmiş bir yama (SUPEE-10570v2) sağlıyor. Bununla birlikte, bu yeni düzeltme ekinin artık iki düşük riskli oturum işleme ile ilgili olarak koruyamadığını unutmayın. SUPEE-10570'i destekleyen güvenlik sorunları. " resmi supee-10570 sayfasından.

Sürüm sayfasında n2 dosyasını bulabiliriz (PATCH_SUPEE-10570_CE_v1.7.0.2_v2-2018-03-29-08-52-37.sh).

Değişiklikleri detaylarıyla araştırdım. Sonunda görünen o ki magento takımı sadece yamanın güvenlik kısmını atmaya karar verdi. Bu güvenlik açıklığının ciddi hasara yol açmayacağını umuyorum (resmi nota göre kritik değil).

V1 + v2 uygulandıktan sonra lütfen aşağıdaki dosyaların başlangıç ​​durumları olarak geri alındığından emin olun (v1 uygulanmadan önce):

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

Not: Açıkçası bazı diğer dosyalar da değiştirildi, lütfen buna göre kontrol edin.


1
@Icon: Bu hatayı Magento'ya bildirdim. Resmi bir geri bildirim alır almaz cevabı yayınlayacağım.
DarkCowboy

4
@Icon / Soleil: Ne yazık ki hala benim hata düzeltme isteğim ile ilgili resmi bir cevap veya düzeltme yok.
DarkCowboy

1
@DarkCowboy Sadece yama indirme sayfasına gittiğinizde, Magento ekibinin 1.7.0.0 ve 1.7.0.2 yamasına not eklediğini görebilirsiniz. Yeni yama geliyor gibi görünüyor.
İkon

3
Herkese selam. Yeni bir yama eklendiğini gördüm ("PATCH_SUPEE-10570_CE_v1.7.0.2_v1-2018-02-28-04-54-53.sh"). Farkı burada görebilirsiniz (soldaki bölme "PATCH_SUPEE-10570_CE_v1.7.0.2_v1-2018-02-23-06-28-18.sh" olan 1. yamadır): diffchecker.com/uGON91aR . Yani yeni yamada sorun yok mu? Ayrıca "... GÜNCELLEME YOLU BEKLİYOR, KULLANMAYIN" uyarısı gitti. Bu yüzden Magento'nun çekirdek ekibinin bu problemle ne yaptığını karıştırıyorum.
DarkCowboy

1
FYI, yamanın V2'si hala "SUPEE-10570_CE_v1.9.2.4 | CE_1.9.2.4 | v1" içinde listeleniyorapp/etc/applied.patches.list
Moose

9

(bunun başından itibaren sürüm notlarında olup olmadığından emin değil )

Bilinen Sorunlar

Bu bilinen iki sorun, bir ürünün SKU özniteliğinde HTML etiketlerinin kullanımıyla ilişkilidir:

  • SKU özniteliğinde HTML etiketleri içeren ürünler almaya çalışırsanız, Magento bu hatayı veri doğrulama aşamasında (yani Verileri kontrol et'i tıkladığınızda ) görüntüler:
 Invalid value in SKU column. HTML tags are not allowed.
  • Yönetici panelinde bir ürün oluşturmaya veya düzenlemeye çalışırsanız ve ürünün SKU öznitelik değeri HTML etiketleri içeriyorsa, ürünü kaydetmeye çalıştığınızda Magento bu hatayı atar: HTML tags are not allowed in SKU attribute.

Gönderen yama notları :

Yama yama sırasında uygulanamazsa lib/Zend/Mail/Transport/Sendmail.php, Magento kurulumunuzun daha önce SUPEE-9652v2 yerine SUPEE-9652v1 ile yamalı olduğu anlamına gelebilir. Önerilen çözüm yama SUPEE-9652v1'i geri döndürmek ve SUPEE-10570'i uygulamadan önce SUPEE-9652v2'yi uygulamaktır.


7

Yamayı Magento CE 1.7.0.2'ye uyguladıktan sonra @DarkCowboy ile aynı sorunu yaşadım.

Ödeme sırasında yeni bir müşteri olarak kaydolmayı seçtikten sonra, sipariş vermek hem sipariş hem de müşteri yaratır, ancak sipariş başarı sayfasını görüntülemek yerine ana sayfaya yönlendirilip çıkış yaptım.

Bulduğum çözüm, değişikliklerde kod bloklarının sırasını tersine çevirmek app/code/core/Mage/Core/Model/Session/Abstract/Varien.php.

Yamalı sürümü Magento CE 1.9.3.8'deki aynı dosyayla karşılaştırarak oturum süresinin geçerliliğini doğrulamak için yeni bloklar buldum ve parola zaman damgası farklı sırada.

Magento CE 1.9.3.8 - Satır 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 - Hatlar 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];
    }

Bu, değerin $validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP]daha büyük olma sonucuyla sonuçlanır; bu $sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP] - $this->getCookie()->getLifetime(), yöntemin her zaman yanlış döndürür ve doğrulama başarısız olur.

Magento CE 1.7.0.2'deki kodu eşleştirmek için Magento CE 1.7.3.2'deki kodu değiştirmek sorunu giderir.

Magento CE 1.7.0.2 - Satır 414-430 için sonuç kodu:


    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;
    }

Kendi yama dosyanızı oluşturmanızı ve doğrudan çekirdek dosyasına uygulamanızı öneriyorum (normalde çekirdekte bulunan hataları bu şekilde yaklaşıyorum). Magento yamanın 2. sürümünü çıkarırsa, bu işlem geri dönmeyi kolaylaştırır.


Merhaba Dave. Görünüşe göre benden aynı sorunla karşılaştın. Düzeltmene gelince, tersine çevirmenle birlikte ikinci durum hiç test edilmeyecek ... Bu oturum verilerini araştıracağım.
DarkCowboy

4
Mart ayı ortasında 1.7.0.2 güncellemesi bekleniyor. (yamanın v2'si), sorun onaylandı.
Piotr Kaminski

Bu çözüm gerçekten parola değiştirme zaman damgası kontrolünün çalışmaya devam etmesini sağlarsa veya yama yapmaya çalıştığı güvenlik boşluğunu yeniden açarsa test eden var mı? Not: Güvenlik avantajını umursamıyorsanız, parola değiştirme zaman damgası kontrolünü tamamen useValidateSessionPasswordTimestamp()geri alarak tamamen devre dışı bırakabilirsiniz false. (aynı dosyada bir satır değişikliği)
Eric Seastrand

Selam. Değişen validasyon sırasına göre "boş sepetli yönlendirme" sorununun hala mevcut olduğunu değerlendirdik. Magento güncelleme yapana kadar "useValidateSessionPasswordTimestamp" kontrolünü kapattık.
Steven Fritzsche

6

SUPEE-10570'i uygulayıp derledikten sonra / checkout / cart'ta boş bir sayfa gördük. Sadece açıklığa kavuşturmak için: Devre dışı bırakılmış derleyici ile her şey yolunda gitti, etkinleştirilmiş derleyici ile yalnızca herhangi bir günlük girişi olmadan oturum açtığınızda boş bir sayfa görebildik (tüm olası günlükleri ve geliştirici modunu etkinleştirdikten sonra bile).

Çözelti fonksiyonunu değiştirme idi getPasswordTimestamp()içinde app/code/core/Mage/Customer/Helper/Data.php: (tabii vasıtası app/code/local/Mage/Customer/Helper/Data.phpve kullanımı!) Mage::getSingleton('core/resource')Yerine Mage::getModel('customer/customer')ya Mage::getSingleton('customer/session'). Bu nedenle tüm işlevi örneğin bu kod satırlarıyla değiştirin:

    $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;

Yeniden derledikten sonra sorun gitmişti. Bu sorunu olan başka biri var mı?

Burada Almanca olarak açıklama .


Bu, birçok farklı yolla, burada görülen en kötü tavsiye ve kodlardan bazılarıdır. Lütfen bunların hiçbirini evde yapmayın.
pong

Aynen benimle aynı. Bu düzeltme eki derleyici etkinken çalışmıyor.
Rafael Patro

1.9.3.9'da benim için iyi çalışıyor.
TonkBerlin

4

1.7.0.0

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

SUPEE-9652 veya SUPEE-9767'yi daha önce uygulamadıysanız, bu hata oluşur.

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

Sorunu düzeltmek için bu yamaları uygulayın.


2
9652 ve 9767'nin kurulu olduğundan emin olun
Simge

Aslında, SUPEE-10570'i 1.6.0.0'dan beri tüm vanilya Magento versiyonlarında test ettik ve hepsi çalışıyor. Ancak sadece önceki tüm yamaları uyguladıysanız. Burada hangi yamaların gerekli olduğunu görebilirsiniz: docs.google.com/spreadsheets/d/…
Jeroen Vermeulen - MageHost

4

1.7.0.0

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

1.7.0.0 için olan yama sadece bir sabit ekler:

+    const VALIDATOR_PASSWORD_CREATE_TIMESTAMP   = 'password_create_timestamp';

Ancak, iki yeni sabitin kullanımını, özellikle de bu olanını ekler:

+        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;
+        }

Bu hatayla sonuçlanır:

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)

Çözüm:

Bu düzeltme eki tarafından eklenen ilk sabitin üstüne veya altına bu ikinci sabit için bir tanım ekleyin.

const VALIDATOR_SESSION_EXPIRE_TIMESTAMP = 'session_expire_timestamp';

Şimdiye kadar bu konuyu 1.9 hiçbirinde görmedim. veya 1.14.x yamaları, çünkü sabiti doğru tanımladılar.


Bu, bu ekin const VALIDATOR_SESSION_EXPIRE_TIMESTAMP = 'session_expire_timestamp';diğer sürümlerinde olduğu gibi dosyanın üstüne eklenerek düzeltildi .
Tyler V.

Yep 1.7.0.0 yamasına özgü görünüyor
danmentzer

Tyler, düzeltmeyi yorumlar bölümünden ziyade gerçek yanıtınıza ekleyebilir misiniz?
danmentzer

1
Ayrıca şunu da belirtmek isterim ki bu, aynı zamanda yamanın EE sürümü için yamaları da EE 1.12.0.0
danmentzer

3

Daha önce doğru SUPEE-6788 veya SUPEE-7405 versiyonunun yanlış versiyonunu uygulamamışsanız, sonra doğru SUPEE-6788 / SUPEE-7405 versiyonunu uygulamışsanız kontrol etmeniz gereken ilk şey.

Sonra da SUPEE-10570'i uygulamaya çalışın.


2

Dosyaları aşağıdaki güncellenmiş / uygulamalı yama SUPEE sonra eklenir - 10570 yılında EE

@DarkCowboy, EE dosyalarından başka bir dosya listesi sağladı :

    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

Bazı önemli notlar

password_created_at müşteri özellikleri tablosunda yarattı.

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

Yukarıdaki dosyalar dosya oluşturma ve doğrulama için kullanılır. kasada veya kullanıcı oturum açma kontrolünde oturum sorunu oluşuyor, yukarıdaki dosyalardan herhangi biri yerel havuzunuzda üzerine yazılmış veya password_created_atMüşteri öznitelik tablosunda ve bu tabloda depolanan uygun değerde herhangi bir öznitelik oluşturulmuş.


Sorunun da verildiği CE veritabanında password_created_at bulunamadı.
TonkBerlin

Bu dosyayı kontrol et app / kod / çekirdek / Mage / Müşteri / sql / customer_setup / upgrade-1.6.2.0.5.1.1-1.6.2.0.5.1.2.php
Rama Chandran M

2

Benim magento versiyonum ver. 1.9.1.0.

SUPEE-10570'i uygulayıp derledikten sonra / checkout / cart'ta boş bir sayfa gördük. Sadece açıklığa kavuşturmak için: Devre dışı bırakılmış derleyici ile her şey yolunda gitti, etkinleştirilmiş derleyici ile yalnızca herhangi bir günlük girişi olmadan oturum açtığınızda boş bir sayfa görebildik (tüm olası günlükleri ve geliştirici modunu etkinleştirdikten sonra bile).

Sebeb olmak:

  1. getPasswordTimestamp işlevi giriş yaptığında iki kez çağırır ve / checkout / cart'ı ziyaret eder.

  2. Engelli derleyici her iki başlatma çalışması.

  3. derleyiciyi yalnızca ilk başlatma çalışmasını etkinleştir, ikinci başlatma başarısız oldu.

Birisi iyi bir çözümü açıklayabilir ve verebilir mi?


2

1.7.0.2 ile bildirdiğim bir sorun şöyle:

  1. Ürünü Sepete At ve Ödeme Yap

  2. "Kayıt Ol" üzerine tıklayın

  3. Ödeme detayları vb. Dahil gerekli tüm sipariş bilgilerini doldurun.
  4. Siparişi Tamamla'yı tıklayın.

SORUN BURADA BAŞLIYOR

5. Otomatik olarak HOME SAYFASINA yönlendirilirsiniz. Sipariş numarası onayını göremiyorsunuz. Fakat gerçekte, sipariş verilir ve müşteri hesabı oluşturulur.


Bunun için herhangi bir çözüm buldunuz mu? Aynı sorunla karşı karşıyayım.
Parth Thummar

1
Yama
Icon

2

Aynı sorunu gördüm, Magento 1.9.3.8 bu yöntemi Mage_Customer_Helper_Data sınıfına ekledi

/**
 * 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;
}

Bu sınıfı Yerel klasörün içinde (en iyi uygulama değil) aşırı kullandıysanız, bu sınıf tarafından oluşturulan hatalarımız olabilir.


2

Bu düzeltme eki, EE kullanıcıları için bazı CMS hiyerarşi yöneticilerini bozdu.

Bunun nedeni, mağazalardan / web sitesi adlarından kaçmaktan ve APPSEC-1873/1979/1980 sabitlemesinden sorumlu olan aşağıdaki yama hattıdır.

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>

Mağaza seçicisini solda göstermelidir, bunun yerine sağda html'yi gösterir. Bu işlevselliğe gerçekten ihtiyacınız varsa, güvenlik olmayan bir işlevsellik çağrısı yapmanız gerekir.

kırık hiyerarşiyi göster


0

Magento 1.9.2.4 Düzeltme Eki'ndeki Tyler ile aynı hatayı

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

Önceki yamayı yüklediğinizi kontrol edin. özel 9767 yaması
Rama Chandran M

Www.magereport.com adresinde bir kontrol yaptım ve tüm yamaların kurulu olduğunu doğruladı.9767.
Roy Toledo,

Ben kontrol edeceğim ve ans
Rama Chandran M

1
@royToledo SUPEE-9652 yamasını da uyguladığınızdan emin olun
Tyler V.

0

Bazı yama algılama aracı varsa muhtemelen algılanmasını değiştirmeye gerek SUPEE-9562 çünkü SUPEE-10570tuşelere aynı dosyada:

lib/Zend/Mail/Transport/Sendmail.php

0

Yama Magento tarafından sessizce değiştirildi. Magento 1.8.1.0-1.9.0.1 için yama ile burada gösterilmiştir. İlk indirdiğimde dosyayı aldım

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

Birkaç gün sonra dosyayı takip ettim

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

Diff, eski dosyanın, "Magento Enterprise Edition Son Kullanıcı Lisans Sözleşmesi" yanlış lisansını içeren Magento İşletme Sürümü'ndeki dosyaları içerdiğini gösterir. Bu "Açık Yazılım Lisansı (OSL 3.0)" olarak düzeltildi.


0

Aşağıdaki hatayı alabilirsiniz

Hunk #3 FAILED at 17 satırdan sonra

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

Benim için Magento 1.10.0.2EE sürümünde oldu. SUPEE-6285 yaması uygulanmadığı için oldu.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.