सुरक्षा पैच SUPEE-10570 - संभावित मुद्दे?


45

Magento ने M1 और M1 और M2 के लिए एक नया सुरक्षा पैच जारी किया है।

इस पैच को अपग्रेड या अप्लाई करते समय मुझे किन मुद्दों पर ध्यान देना चाहिए?

Supee-10570

SUPEE-10570, Magento कॉमर्स 1.14.3.8 और ओपन सोर्स 1.9.3.8 में कई सुरक्षा संवर्द्धन शामिल हैं जो दूरस्थ दूरस्थ निष्पादन (RCE), क्रॉस-साइट स्क्रिप्टिंग (XSS) और अन्य समस्याओं को रोकने में मदद करते हैं। इन रिलीजों में सूचीबद्ध छोटे कार्यात्मक सुधार भी शामिल हैं। रिलीज नोट्स।

मैग्नेटो 2.2.3, 2.1.12 और 2.0.18 सुरक्षा अद्यतन

Magento वाणिज्य और ओपन सोर्स 2.2.3, 2.1.12 और 2.0.18 में कई सुरक्षा संवर्द्धन शामिल हैं जो क्रॉस-साइट स्क्रिप्टिंग (XSS), प्रमाणित व्यवस्थापक उपयोगकर्ता दूरस्थ कोड निष्पादन (RCE) और अन्य कमजोरियों को रोकने में मदद करते हैं। रिलीज़ में अतिरिक्त फ़ंक्शनल फ़िक्सेस शामिल हैं। फ़ंक्शनल फ़िक्सेस के बारे में अधिक जानने के लिए कृपया Magento के कॉमर्स 2.0.18, 2.1.12, 2.2.3 और Magento ओपन सोर्स 2.0.18, 2.1.12, 2.2.3 के लिए रिलीज़ नोट्स देखें।


1
ओपन सोर्स / कम्युनिटी एडिशन के लिए 1.x में कोई फ्रंटएंड टेम्प्लेट बदलाव शामिल नहीं किए गए हैं, इसलिए कम से कम बहुत सारी परेशानियों को पैदा नहीं करना चाहिए। हालाँकि - एक डेटाबेस बैकअप की अत्यधिक अनुशंसा की जाती है क्योंकि इस पैच में दो इंस्टाल (अपग्रेड) स्क्रिप्ट शामिल हैं। पहले वातावरण को पैच करने के बाद अधिक विवरण का अनुसरण किया जा सकता है।
क्रिस्टोफ फर्नलेटनर

1
यदि आपके पास एक अनुकूलित व्यवस्थापक गेम ग्रिड का उपयोग करके स्टोर है जिसमें स्टोर का नाम शामिल है, तो पैच अब स्टोर नाम और रेंडरिंग को बदलने के आधार पर कुछ संभावित कारनामों को ठीक करने के लिए संभवतः बच जाता है।
एंड्रयू क्वाकेनबोस

मैंने अब तक 1.9.0.1 पर 2 साइटों को बिना किसी समस्या के पैच किया है।
asdfasdfasf

1
मैंने पैच को 1.9.3.0, 1.9.0.1 और 1.9.1.0 पर लागू किया है अब तक कोई समस्या नहीं है
डेविड

2
यह सुरक्षा ब्लॉग से है: magento.com/security/patches/supee-10570 नोट: कुछ ग्राहक चेकआउट में समस्या का सामना कर रहे हैं जब चेक आउट करते समय खाता बनाने की कोशिश की जा रही है। इस समस्या को ठीक करने के लिए एक अपडेट पैच या वर्कअराउंड शीघ्र ही उपलब्ध होगा। यदि आप अभी इस समस्या का सामना कर रहे हैं, तो निम्नलिखित पैच को लागू करके इस मुद्दे को उत्पन्न करने वाले कोड के हिस्से को वापस करने पर विचार करें: अमान्य_sesssion_fix.patch से रिलीज़ अभिलेखागार, SUPEE-10570 अनुभाग
टैंकगर्ल

जवाबों:


29

यहां 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

संपादित करें

अंत में मेरी ठेस वेबसाइट (सीई 1.7.0.2) पर तैनात करने के बाद, मैंने एक महत्वपूर्ण अवरोधन समस्या (चेकआउट प्रक्रिया अवरुद्ध) पर ध्यान दिया।

संदर्भ: चरण 1 के पते के बाद, मैं सीधे ग्राहक बनाता हूं और लॉग इन करता हूं, उसे केवल अगला चेकआउट चरण देखना चाहिए।

समस्या: supee-10570 के बाद, चेकआउट प्रक्रिया चरण 1 (केस खाता निर्माण) के बाद टूट गई है और ग्राहक को मुखपृष्ठ पर पुनर्निर्देशित किया गया है (शॉपिंग कार्ट खाली + लॉग आउट के साथ) = अपने चेकआउट को प्राप्त करना असंभव है।

आपातकालीन सुधार: यदि आप अपने चेकआउट / ग्राहक सत्र के साथ समान समस्या का सामना करते हैं, तो ऐप / कोड / कोर / मैज / कोर / मॉडल / सत्र / सार / Varien.php से 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];
//         }

EDIT (2)

मुझे लगता है कि निम्नलिखित स्थिति हमेशा गलत (Mage_Core_Model_Session_Abstract_Varien 414-419, विशेषकर 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 हमेशा VALIDATOR_SESSION_EXPIRE_TIMESTAMP से अधिक होगा। सत्र "समाप्ति" टाइमस्टैम्प को खाता निर्माण में पुनर्परिभाषित किया गया है, इसलिए अनिवार्य रूप से सत्र init से पुराना है।

उदाहरण के लिए यदि आप चेकआउट के दौरान ग्राहक बनाते हैं, तो यह गलत हो जाएगा और ग्राहक सिर्फ किकआउट (= अंत चेकआउट, मुखपृष्ठ और कार्ट खाली करने के लिए पुनर्निर्देशित) हो जाएगा। बहुत बुरा।

मैंने इस मुद्दे को मैगेंटो टीम को रिपोर्ट किया है। मैं यहाँ asap प्रतिक्रिया देंगे।


EDIT (3)

एक नया पैच wip है (मैगेंटो पैच डाउनलोड पेज पर यह लिखा है "CE 1.7.0.0 के लिए SUPEE-10570 - अद्यतन किए गए पठार, का उपयोग न करें (0.06 एमबी)")।


EDIT (4) ~ 1 महीने के बाद ब्लॉकिंग इनीशियल ब्लॉकिंग की रिपोर्ट

नमस्ते! आशा है कि आप सभी सामान हैं (और आशा है कि आपने अब तक प्रारंभिक पैच स्थिति नहीं रखी थी, जब तक कि आपकी व्यावसायिक आय शायद गंभीरता से कम हो गई ^ ^)।

मैंने आधिकारिक पृष्ठ से निम्नलिखित वाक्य को देखा है: "Magento अब एक अद्यतन पैच (SUPEE-10570v2) प्रदान कर रहा है जो अब इस समस्या का कारण नहीं बनता है। ध्यान दें, हालाँकि, यह नया पैच अब दो कम जोखिम वाले सत्रों से संबंधित से सुरक्षा नहीं करता है SUPEE-10570 को सुरक्षित रखने वाले सुरक्षा मुद्दे आधिकारिक सुपी -10570 पृष्ठ से।

रिलीज़ पेज पर हम अंत में v2 फ़ाइल (PATCH_SUPEE-10570_CE_v1.7.0.2_v2-2018-03-29-52-37.sh) पा सकते हैं।

मैंने विवरण में संशोधनों की जांच की है। अंत में ऐसा लगता है कि मैगेंटो टीम ने सिर्फ पैच के एक सुरक्षा हिस्से को गिराने का फैसला किया। आशा है कि यह सुरक्षा छेद गंभीर क्षति का कारण नहीं होगा (यह आधिकारिक नोट के अनुसार कम महत्वपूर्ण है)।

V1 + लागू v2 वापस करने के बाद, कृपया ध्यान रखें कि निम्नलिखित फाइलें उनके प्रारंभिक राज्य के रूप में वापस कर दी जाती हैं (v1 लागू होने से पहले):

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

पुनश्च: स्पष्ट रूप से कुछ अन्य फाइलें भी संशोधित हैं, कृपया तदनुसार जांच करें।


1
@ आइकॉन: मैंने अभी इस बग को मैजेंटो को रिपोर्ट किया है। आधिकारिक प्रतिक्रिया प्राप्त करते ही मैं उत्तर प्रकाशित करूँगा।
डार्ककॉबॉय

4
@ इकोन / सोलिल: दुर्भाग्य से अभी भी कोई आधिकारिक जवाब नहीं है या मेरे बगफिक्स अनुरोध के बारे में तय नहीं है।
DarkCowboy

1
@DarkCowboy मैंने अभी देखा कि एक बार जब आप पैच डाउनलोड पेज पर जाते हैं, तो आप देख सकते हैं कि Magento की टीम ने 1.7.0.0 और 1.7.0.2 पैच में एक नोट जोड़ा है। लगता है कि नया पैच आ रहा है।
चिह्न

3
हेलो सब लोग। मैंने देखा कि एक नया पैच जोड़ा गया है ("PATCH_SUPEE-10570_CE_v1.7.0.2_v1-2018-02-28-04-54-53.sh")। आप यहां अंतर देख सकते हैं (बायां फलक 1 पैच है "PATCH_SUPEE-10570_CE_v1.7.0.2_v1-2018-02-23-28-18-18.sh"): diffchecker.com/uGON91RR । तो नए पैच पर कोई तय नहीं ?! इसके अलावा "... अद्यतन किए गए पठार, का उपयोग न करें" नोटिस चला गया है। इसलिए मैं थोड़ा भ्रमित हूं कि मैगेंटो कोर टीम इस समस्या के साथ क्या कर रही है।
डार्ककोव

1
पैच का FYI, V2 अभी भी सूचीबद्ध करता है "SUPEE-10570_CE_v1.9.2.4 | CE_1.9.2.4 | v1"app/etc/applied.patches.list
Moose

9

(निश्चित नहीं है कि यह शुरुआत से जारी नोटों में था )

ज्ञात पहलु

ये दो ज्ञात मुद्दे किसी उत्पाद के SKU विशेषता के भीतर HTML टैग के उपयोग से जुड़े हैं:

  • यदि आप SKU विशेषता में HTML टैग वाले उत्पादों को आयात करने का प्रयास करते हैं, तो Magento डेटा सत्यापन चरण में यह त्रुटि प्रदर्शित करता है (जब आप चेक डेटा पर क्लिक करते हैं ):
 Invalid value in SKU column. HTML tags are not allowed.
  • यदि आप व्यवस्थापक पैनल में किसी उत्पाद को बनाने या संपादित करने का प्रयास करते हैं और उत्पाद के SKU विशेषता मान में HTML टैग हैं, तो उत्पाद को सहेजने का प्रयास करते समय Magento यह त्रुटि फेंकता है: HTML tags are not allowed in SKU attribute.

से पैच नोट्स :

यदि पैच को पैच करते समय लागू करने में विफल रहता है lib/Zend/Mail/Transport/Sendmail.php, तो इसका मतलब यह हो सकता है कि आपके Magento की स्थापना को पहले SUPEE-9652v2 के बजाय SUPEE-9652v2 से पैच किया गया था। अनुशंसित समाधान SUPEE-9652v1 पैच को वापस करना है और SUPEE-9652v2 को SUPEE-10570 लागू करने से पहले लागू करना है।


7

मैं Magento CE 1.7.0.2 को पैच लागू करने के बाद @DarkCowboy के रूप में एक ही मुद्दा था।

चेकआउट के दौरान एक नए ग्राहक के रूप में पंजीकरण करने का चयन करने के बाद, ऑर्डर को रखने से ऑर्डर और ग्राहक दोनों का निर्माण होता है, लेकिन ऑर्डर की सफलता पृष्ठ प्रदर्शित करने के बजाय मैं मुखपृष्ठ पर पुनर्निर्देशित किया गया और लॉग आउट किया गया।

समाधान मैंने पाया है कि परिवर्तनों में कोड ब्लॉक के क्रम को उल्टा करना है app/code/core/Mage/Core/Model/Session/Abstract/Varien.php

मैगेंटो सीई 1.9.3.8 में एक ही फ़ाइल के साथ पैच किए गए संस्करण की तुलना में, मुझे सत्र समाप्ति की पुष्टि करने के लिए नए ब्लॉक मिले और पासवर्ड टाइमस्टैम्प एक अलग क्रम में हैं।

Magento CE 1.9.3.8 - लाइन्स 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 - लाइन्स 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];
    }

इससे $validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP]अधिक से अधिक होने के मूल्य में परिणाम होता है $sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP] - $this->getCookie()->getLifetime(), जिसका अर्थ है कि विधि हमेशा गलत होती है और सत्यापन विफल हो जाता है।

Magento CE 1.9.3.8 में संस्करण से मिलान करने के लिए Magento CE 1.7.0.2 में कोड को बदलना समस्या को हल करता है।

Magento CE 1.7.0.2 के लिए परिणामी कोड - लाइन्स 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;
    }

मैं आपकी खुद की पैच फ़ाइल बनाने और सीधे कोर फ़ाइल पर लागू करने का सुझाव दूंगा (यह है कि मैं सामान्य रूप से कोर में बग्स को कैसे ठीक कर सकता हूं)। यदि मैग्नेटो पैच का एक संस्करण 2 जारी करता है, तो इसे वापस करना आसान होगा।


हाय दवे। लगता है कि आप मुझसे एक ही मुद्दे का सामना करना पड़ा। आपके ठीक करने के संबंध में, आपके उलटा के साथ दूसरी स्थिति का परीक्षण बिल्कुल नहीं किया जाएगा ... मैं इन सत्र डेटा की जांच करूँगा।
डार्ककॉब

4
मार्च के मध्य में 1.7.0.2 अपडेट होने की उम्मीद है। (पैच का v2), समस्या की पुष्टि हो गई है।
पिओटर कमिंसकी

क्या किसी ने परीक्षण किया है अगर यह समाधान वास्तव में पासवर्ड बदलने की टाइमस्टैम्प जांच को काम करता है, या यदि यह सुरक्षा छेद को फिर से खोल देता है जिसे वे पैच करने की कोशिश कर रहे थे? नोट: यदि आप सुरक्षा लाभ के बारे में परवाह नहीं करते हैं, तो आप केवल पासवर्ड परिवर्तन टाइमस्टैम्प की जाँच पूरी तरह से निष्क्रिय कर सकते useValidateSessionPasswordTimestamp()हैं false। (एक ही फाइल में एक पंक्ति में बदलाव)
एरिक सस्टैंडैंड

नमस्ते। हमने मूल्यांकन किया है, कि "खाली कार्ट के साथ पुनर्निर्देशित" समस्या अभी भी बदले हुए सत्यापन क्रम के साथ मौजूद है। हमने "useValidateSessionPasswordTimestamp" चेक को तब तक के लिए बंद कर दिया, जब तक कि मैगनेटो एक अपडेट नहीं बनाता।
स्टीवन फ्रिट्ज़

6

हमने SUPEE-10570 लगाने और संकलन करने के बाद / चेकआउट / कार्ट में एक खाली पृष्ठ देखा। बस स्पष्ट करने के लिए: निष्क्रिय संकलक के साथ सभी चीजें अच्छी तरह से चली गईं, सक्रिय संकलक के साथ हम केवल एक खाली कार्ट पेज देख सकते हैं जब बिना किसी लॉग प्रविष्टियों के लॉग इन किया गया था (सभी संभावित लॉग और डेवलपर मोड को सक्रिय करने के बाद भी)।

समाधान समारोह को बदलने के लिए था getPasswordTimestamp()में app/code/core/Mage/Customer/Helper/Data.php: (बेशक साधन app/code/local/Mage/Customer/Helper/Data.phpऔर उपयोग करने के लिए!) Mage::getSingleton('core/resource')के बजाय Mage::getModel('customer/customer')या Mage::getSingleton('customer/session')। इसलिए पूरे फ़ंक्शन को बदलें जैसे कोड की इन पंक्तियों के साथ:

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

Recompiling समस्या के बाद चला गया था। क्या किसी को यह समस्या है?

यहां जर्मन में स्पष्टीकरण ।


यह कई अलग-अलग तरीकों से है, जिनमें से कुछ सबसे खराब सलाह और कोड यहां देखे गए हैं। कृपया इसे घर पर न करें।
पोंग

बिल्कुल मेरे साथ भी ऐसा ही है। यह पैच संकलक सक्षम के साथ काम नहीं कर रहा है।
राफेल पात्रो

1.9.3.9 में यह मेरे लिए ठीक काम करता है।
टोंकबर्लिन

4

1.7.0.0

पैच: PATCH_SUPEE-10570_CE_v1.7.0.0_v1-2018-02-23-06-37-58.sh

यह त्रुटि तब होती है यदि आपने पहले SUPEE-9652 या SUPEE-9767 लागू नहीं किया है

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

समस्या को ठीक करने के लिए उन पैच को लागू करें।


2
सुनिश्चित करें कि आपने 9652 और 9767 स्थापित किया है
चिह्न

वास्तव में, हमने 1.6.0.0 के बाद से सभी वेनिला मैगेंटो संस्करणों पर SUPEE-10570 का परीक्षण किया और यह सभी काम करता है। लेकिन केवल अगर आपने पिछले सभी पैच लागू किए हैं। यहां आप देख सकते हैं कि कौन से पैच आवश्यक हैं: docs.google.com/spreadsheets/d/…
Jeroen Vermeulen - MageHost

4

1.7.0.0

पैच PATCH_SUPEE-10570_CE_v1.7.0.0_v1-2018-02-23-06-37-58.sh फ़ाइलapp/code/core/Mage/Core/Model/Session/Abstract/Varien.php

1.7.0.0 के लिए पैच केवल एक स्थिरांक जोड़ता है:

+    const VALIDATOR_PASSWORD_CREATE_TIMESTAMP   = 'password_create_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;
+        }

इसके परिणामस्वरूप त्रुटि होती है:

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)

जोड़:

इस पैच द्वारा जोड़े गए पहले स्थिरांक के ऊपर या नीचे इस दूसरे स्थिर के लिए एक परिभाषा जोड़ें।

const VALIDATOR_SESSION_EXPIRE_TIMESTAMP = 'session_expire_timestamp';

अब तक मैंने इस मुद्दे को 1.9 में से किसी में नहीं देखा है। या 1.14.x पैच, क्योंकि वे स्थिरांक को सही ढंग से परिभाषित करते हैं।


यह const VALIDATOR_SESSION_EXPIRE_TIMESTAMP = 'session_expire_timestamp';फ़ाइल के शीर्ष पर जोड़कर पैच किया गया था , जैसे कि इस पैच के अधिकांश अन्य संस्करणों में किया जाता है।
टायलर वी।


टायलर आप टिप्पणी अनुभाग के बजाय अपने वास्तविक उत्तर में सुधार जोड़ सकते हैं।
डैनमेंट्ज़र

1
मैं यह भी ध्यान देना चाहूंगा कि यह पैच के EE संस्करण के लिए पैच के साथ-साथ EE 1.12.0.0 पर भी प्रभाव डालता है
danmentzer

3

पहली बात तो आपको जांचनी चाहिए, यदि आप पहले SUPEE-6788 या SUPEE-7405 का सही संस्करण लागू करते हैं, यदि गलत संस्करण वापस नहीं करते हैं और फिर SUPEE-6788 / SUPEE-7405 का सही संस्करण लागू करते हैं।

फिर SUPEE-10570 लागू करने के लिए फिर से प्रयास करें।


2

EE में लागू पैच SUPEE - 10570 के बाद नीचे की फाइलें अपडेट / जोड़े गए हैं

@DarkCowboy ने EE फ़ाइलों के अलावा अन्य फ़ाइलों की एक सूची प्रदान की है :

    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

कुछ महत्वपूर्ण नोट्स

password_created_at ग्राहक विशेषता तालिका में बनाया गया।

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

ये उपरोक्त फाइलें निर्माण और सत्यापन के लिए उपयोग की जाती हैं। सत्र समस्या चेकआउट या उपयोगकर्ता लॉगिन चेक में होती है, उपरोक्त किसी भी फाइल को आपके स्थानीय पूल में ओवरराइट किया जाता है या password_created_atआपके ग्राहक विशेषता तालिका में कोई भी विशेषता बनाई जाती है और उस तालिका में संग्रहीत उचित मूल्य।


मुझे CE_ डेटाबेस में password_created_at नहीं मिला जहां समस्या भी दी गई है।
टोंकबर्लिन

इस फ़ाइल ऐप / कोड / कोर / मैज / ग्राहक / एसक्यूएल / customer_setup / उन्नयन-1.6.2.0.5.1.1-1.6.2.0.5.1.2.2.php की जाँच करें
राम चंद्रन M

2

मेरा Magento संस्करण ver है। 1.9.1.0।

हमने SUPEE-10570 लगाने और संकलन करने के बाद / चेकआउट / कार्ट में एक खाली पृष्ठ देखा। बस स्पष्ट करने के लिए: निष्क्रिय संकलक के साथ सभी चीजें अच्छी तरह से चली गईं, सक्रिय संकलक के साथ हम केवल एक खाली कार्ट पेज देख सकते थे जब बिना किसी लॉग प्रविष्टियों के लॉग इन किया गया था (सभी संभावित लॉग और डेवलपर मोड को सक्रिय करने के बाद भी)।

कारण:

  1. फ़ंक्शन getPasswordTimestamp लॉगिन और चेकआउट / कार्ट में जाने पर दो बार चालान करेगा ।

  2. विकलांग संकलक दोनों आह्वान कार्य।

  3. कंपाइलर को केवल पहले आह्वान कार्य में सक्षम करें, दूसरा आह्वान विफल रहा।

क्या कोई समझा सकता है और अच्छा समाधान दे सकता है?


2

1.7.0.2 के साथ एक मुद्दा मैंने देखा है इस प्रकार है:

  1. उत्पाद को कार्ट में जोड़ें और चेकआउट पर जाएं

  2. "रजिस्टर" पर क्लिक करें

  3. सभी आवश्यक आदेश जानकारी भरें, भुगतान विवरण, आदि।
  4. पूर्ण आदेश पर क्लिक करें।

समस्या सितारे यहाँ

5. स्वचालित रूप से मुख पृष्ठ पर पुनः निर्देशित करें। आपको ऑर्डर नंबर की पुष्टि देखने को नहीं मिलती है। लेकिन वास्तव में, ऑर्डर रखा गया है और ग्राहक खाता बनाया गया है।


क्या आपको इसके लिए कोई समाधान मिला है? मैं उसी मुद्दे का सामना कर रहा हूं।
पार्थ थुम्मर

1
पैच के V2 बाहर है, समस्या हल
चिह्न

2

मैं एक ही मुद्दे से मुलाकात की, Magento 1.9.3.8 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;
}

यदि आप स्थानीय फ़ोल्डर (सर्वोत्तम अभ्यास नहीं) के अंदर इस वर्ग को ओवररोड करते हैं, तो हमारे पास इस वर्ग द्वारा उत्पन्न त्रुटियाँ हो सकती हैं।


2

इस पैच ने EE उपयोगकर्ताओं के लिए कुछ CMS पदानुक्रम प्रबंधक को तोड़ दिया है।

इसका कारण निम्न पैच लाइन है जो स्टोर / वेबसाइट के नाम से बचने और 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>

यह स्टोर चयनकर्ता को बाईं ओर दिखाना चाहिए लेकिन यह दाईं ओर HTML दिखाता है। यदि आपको वास्तव में इस कार्यक्षमता की आवश्यकता है तो आपको सुरक्षा बनाम कार्यक्षमता की कॉल करने की आवश्यकता है जो महान नहीं है।

टूटी पदानुक्रम दिखाओ


0

Magento 1.9.2.4 पैच PATCH_SUPEE-10570_CE_v1.9.2.4.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

जाँच करें कि आपने पिछले पैच को स्थापित किया है। विशेष रूप से 9767 पैच
राम चंद्रन एम

Www.magereport.com पर एक जांच को दौड़ाया और यह पुष्टि की कि सभी पैच 9.9767 के रूप में स्थापित किए गए थे।
रॉय टोलेडो

मैं जाँच करूँगा और ans प्रदान करूँगा
राम चंद्रन M

1
@royToledo सुनिश्चित करें कि आपने पैच SUPEE-9652 को भी लागू किया है
टायलर वी।

0

आप कुछ पैच का पता लगाने उपकरण है, तो आप शायद का पता लगाने के संशोधित करने की जरूरत SUPEE-9562 है क्योंकि SUPEE-10570संशोधित एक ही फाइल:

lib/Zend/Mail/Transport/Sendmail.php

0

पैच को Magento ने चुपचाप बदल दिया था। यहाँ Magento 1.8.1.0-1.9.0.1 के लिए पैच के साथ दिखाया गया है। पहले डाउनलोड पर मुझे फ़ाइल मिली

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

कुछ दिनों बाद मुझे निम्नलिखित फ़ाइल मिली

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

डिफ दिखाता है कि पूर्व फ़ाइल में मैगेंटो एंटरप्राइज संस्करण की फाइलें हैं, जिसमें गलत लाइसेंस "मैगेंटो एंटरप्राइज एडिशन एंड यूजर लाइसेंस एग्रीमेंट" है। इसे "ओपन सॉफ्टवेयर लाइसेंस (OSL 3.0)" में सुधारा गया है।


0

आपको निम्न त्रुटि मिल सकती है

Hunk #3 FAILED at 17 लाइन के बाद

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

यह मेरे लिए Magento 1.10.0.2EE संस्करण पर हुआ। ऐसा इसलिए हुआ क्योंकि SUPEE-6285 पैच लागू नहीं किया गया था।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.