セキュリティパッチSUPEE-10570-考えられる問題?


45

Magentoは、M1の新しいセキュリティパッチと、M1およびM2のアップデートをリリースしました。

このパッチをアップグレードまたは適用する際に注意すべき問題は何ですか?

SUPEE-10570

SUPEE-10570、Magento Commerce 1.14.3.8、およびOpen Source 1.9.3.8には、リモートコード実行(RCE)、クロスサイトスクリプティング(XSS、およびその他の問題)を閉じるのに役立つ複数のセキュリティ拡張機能が含まれています。リリースノート。

MAGENTO 2.2.3、2.1.12、および2.0.18のセキュリティ更新

Magento CommerceおよびOpen Source 2.2.3、2.1.12、および2.0.18には、クロスサイトスクリプティング(XSS)、認証された管理ユーザーのリモートコード実行(RCE)、およびその他の脆弱性を閉じるのに役立つ複数のセキュリティ拡張機能が含まれています。リリースには、追加の機能修正が含まれています。機能修正の詳細については、Magento Commerce 2.0.18、2.1.12、2.2.3およびMagento Open Source 2.0.18、2.1.12、2.2.3のリリースノートをご覧ください。


1
Open Source / Community Edition 1.xの場合、フロントエンドテンプレートの変更は含まれていないようですので、少なくともこれにより多くのトラブルが発生することはありません。ただし、このパッチには2つのインストール(アップグレード)スクリプトが含まれているため、データベースのバックアップを強くお勧めします。最初の環境にパッチを適用した後、詳細が続く可能性があります。
クリストフファーンライトナー

1
ストア名を含むカスタマイズされたadminhtmlグリッドを使用しているストアがある場合、おそらくパッチはそれをエスケープし、ストア名の変更とレンダリングに基づいた潜在的な悪用を修正します。
アンドリュークアッケン

これまでのところ、1.9.0.1の2つのサイトに問題なくパッチを適用しています。
asdfasdfasf

1
1.9.3.0、1.9.0.1、1.9.1.0にパッチを適用しましたが、これまでのところ問題はありません
David

2
これはセキュリティブログからのものです。magento.com/ security / patches / supee-10570 注:一部のお客様は、チェックアウト中にアカウントを作成しようとすると、チェックアウトで問題が発生します。この問題を修正する更新パッチまたは回避策がまもなく利用可能になります。あなたが今この問題が発生している場合は、以下のパッチを適用することによって、この問題の原因となったコードの一部を元に戻す考える:リリースアーカイブ、SUPEE-10570セクションからinvalid_sesssion_fix.patch
Tankgirl

回答:


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

編集

最後に、prod Webサイト(CE 1.7.0.2)にデプロイした後、重大なブロックの問題(チェックアウトプロセスがブロックされている)に気付きました。

コンテキスト: ステップ1のアドレスの後で、私は直接顧客を作成してログに記録します。彼は次のチェックアウトステップのみを見る必要があります。

問題: supee-10570の後、ステップ1(アカウント作成の場合)後にチェックアウトプロセスが中断され、顧客はホームページにリダイレクトされます(ショッピングカートが空+ログアウト)=チェックアウトを達成できません。

緊急修正: チェックアウト/顧客セッションで同様の問題が発生した場合、app / code / core / Mage / Core / Model / Session / Abstract / 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];
//         }

編集(2)

次の条件は常にfalse(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より大きくなります。セッションの「有効期限」タイムスタンプはアカウントの作成時に再定義されるため、セッションの初期化よりも必然的に古くなっています。

たとえば、チェックアウト中に顧客を作成すると、これはfalseを返し、顧客はキックアウトされます(=チェックアウトの終了、ホームページへのリダイレクト、およびカートは空になります)。かなり悪いです。

この問題をmagentoチームに報告しました。ここでできるだけ早くフィードバックを提供します。


編集(3)

新しいパッチはwipです(magentoのパッチダウンロードページには、「CE 1.7.0.0のSUPEE-10570-更新されたパッチが必要です、使用しないでください(0.06 MB)」と書かれています)。


編集(4)最初のブロックの問題が報告されてから約1か月後

こんにちは!あなたがすべての商品であることを願っています(そして、あなたのビジネス収入がおそらく大幅に減少していない限り、今まで初期パッチの状態を維持しなかったことを願っています^^)。

公式ページから次の文章に気付きました。「マゼントは現在、この問題を引き起こさない更新されたパッチ(SUPEE-10570v2)を提供しています。ただし、この新しいパッチは、2つの低リスクセッション処理関連SUPEE-10570にパッチが適用されたセキュリティ上の問題。」公式supee-10570ページから。

リリースページで、最終的にv2ファイル(PATCH_SUPEE-10570_CE_v1.7.0.2_v2-2018-03-29-08-52-37.sh)を見つけることができます。

変更の詳細を調査しました。最後に、magentoチームはパッチのセキュリティ部分を削除することにしたようです。このセキュリティホールが重大な損害を引き起こさないことを願っています(公式ノートによると、重大度は低い)。

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

PS:明らかに他のいくつかのファイルも変更されています。それに応じて確認してください。


1
@Icon:このバグをmagentoに報告したばかりです。公式のフィードバックを受け取り次第、回答を公開します。
ダークカウボーイ

4
@Icon / Soleil:残念ながら、バグ修正リクエストに関する公式の回答や修正はまだありません。
ダークカウボーイ

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")。あなたは(左側のペインには第一パッチ「PATCH_SUPEE-10570_CE_v1.7.0.2_v1-2018-02-23-06-28-18.sh」である)ここでの違いを見ることができます:diffchecker.com/uGON91aRを。新しいパッチは修正されませんか?!さらに、「...更新されたパッチが予期されていますが、使用しないでください」という通知がなくなりました。だから、私はmagentoコアチームがこの問題で何をしているのか少し混乱しています。
ダークカウボーイ

1
参考までに、パッチのV2には「SUPEE-10570_CE_v1.9.2.4 | CE_1.9.2.4 | v1」と記載されています。 app/etc/applied.patches.list
Moose

9

(これが最初からリリースノートにあったかどうかはわかりません)

既知の問題点

これら2つの既知の問題は、製品の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.phpMagentoのインストールが以前にSUPEE-9652v2ではなくSUPEE-9652v1でパッチされていたことを意味する場合があります。推奨される解決策は、SUPEE-10570を適用する前に、パッチSUPEE-9652v1を元に戻し、SUPEE-9652v2を適用することです。


7

Magento CE 1.7.0.2にパッチを適用した後、@ DarkCowboyと同じ問題がありました。

チェックアウト中に新しい顧客として登録することを選択した後、注文すると注文と顧客の両方が作成されますが、注文成功ページを表示する代わりに、ホームページにリダイレクトされてログアウトします。

私が見つけた解決策は、変更のコードブロックの順序を逆にすることです app/code/core/Mage/Core/Model/Session/Abstract/Varien.phpです。

Magento CE 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()ます。つまり、メソッドは常にfalseを返し、検証は失敗します。

Magento CE 1.7.0.2のコードをMagento CE 1.9.3.8のバージョンと一致するように変更すると、問題が修正されます。

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

独自のパッチファイルを作成し、コアファイルに直接適用することをお勧めします(これが通常、コアのバグを修正する方法です)。これにより、Magentoがパッチのバージョン2を発行した場合、簡単に元に戻すことができます。


こんにちはデイブ。私と同じ問題に遭遇したようです。修正に関しては、反転によって2番目の条件はまったくテストされません...これらのセッションデータを調査します。
ダークカウボーイ

4
1.7.0.2の更新は3月中旬に予定されています。(パッチのv2)、問題は確認されています。
ピョートルカミンスキー

このソリューションが実際にパスワード変更タイムスタンプチェックを機能させるか、パッチを適用しようとしていたセキュリティホールを再び開くかどうかをテストした人はいますか?注:セキュリティ上の利点を気にしない場合は、useValidateSessionPasswordTimestamp()returnを使用してパスワード変更タイムスタンプのチェックをすべて無効にすることができます false。(同じファイルの1行変更)
エリックイーストランド

こんにちは。変更された検証順序では、「空のカートでのリダイレクト」問題が依然として存在することを評価しました。magentoが更新を作成するまで、「useValidateSessionPasswordTimestamp」チェックをオフにしました。
スティーブンFritzsche

6

SUPEE-10570を適用してコンパイルした後、/ checkout / cartに空白のページが表示されました。明確にするために:コンパイラーを非アクティブ化するとすべてがうまくいき、コンパイラーをアクティブ化すると、ログエントリなしでログインしたときに空白のカートページしか表示できませんでした(可能なすべてのログと開発者モードをアクティブ化した後でも)。

解決策は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;

再コンパイル後、問題はなくなりました。この問題を抱えている人はいますか?

ここでドイツ語説明。


これは、さまざまな意味で、ここで見られた最悪のアドバイスとコードの一部です。自宅ではこれをしないでください。
ポン

私とまったく同じです。このパッチは、コンパイラを有効にすると動作しません。
ラファエルパトロ

1.9.3.9では、私にとってはうまく機能します。
-TonkBerlin

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以降のすべてのバニラMagentoバージョンでSUPEE-10570をテストしましたが、すべて動作します。ただし、以前のすべてのパッチを適用した場合のみ。ここでは、必要なパッチを確認できます。docs.google.com
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のパッチは、定数を1つだけ追加します。

+    const VALIDATOR_PASSWORD_CREATE_TIMESTAMP   = 'password_create_timestamp';

ただし、2つの新しい定数、特にこの1つの定数の使用が追加されます。

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

修正:

このパッチによって追加された最初の定数の上または下に、この2番目の定数の定義を追加します。

const VALIDATOR_SESSION_EXPIRE_TIMESTAMP = 'session_expire_timestamp';

これまでのところ、1.9のいずれでもこの問題は発生していません。または定数が正しく定義されているため、1.14.xパッチ。


これはconst VALIDATOR_SESSION_EXPIRE_TIMESTAMP = 'session_expire_timestamp';、このパッチの他のほとんどのバージョンで行われているように、ファイルの先頭に追加することによりパッチされました。
タイラー

はい、1.7.0.0パッチに固有のようです
danmentzer

タイラーは、コメントセクションではなく、実際の回答に修正を追加できます。
danmentzer

1
また、これはパッチのEEバージョンのパッチにも影響することに注意してください。EE1.12.0.0
danmentzer

3

以前に正しいバージョンのSUPEE-6788またはSUPEE-7405を適用した場合は最初に確認する必要があります。間違ったバージョンを元に戻さない場合は、正しいバージョンのSUPEE-6788 / SUPEE-7405を適用します。

その後、SUPEE-10570の適用を再試行してください。


2

以下のファイルは、パッチSUPEE- EEの 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が見つかりませんでした。
-TonkBerlin

このファイルを確認してくださいapp / code / core / Mage / Customer / sql / customer_setup / upgrade-1.6.2.0.5.1.1-1.6.2.0.5.1.2.php
Rama Chandran M

2

私のmagentoバージョンはverです。1.9.1.0。

SUPEE-10570を適用してコンパイルした後、/ checkout / cartに空白のページが表示されました。明確にするために:コンパイラーを非アクティブ化するとすべてがうまくいき、コンパイラーをアクティブ化すると、ログエントリなしでログインしたときに空白のカートページしか表示できませんでした(可能なすべてのログと開発者モードをアクティブ化した後でも)。

原因:

  1. 関数getPasswordTimestampはログイン時に2回起動、/ checkout / cartにアクセスします

  2. コンパイラーの両方の呼び出しを無効にします。

  3. 最初の呼び出し作業のみコンパイラーを有効にし、2番目の呼び出しは失敗しました。

誰もが良い解決策を説明して与えることができますか?


2

私が気づいた1.7.0.2の問題は次のとおりです。

  1. 製品をカートに追加して、チェックアウトに進みます

  2. 「登録」をクリックします

  3. 支払いの詳細など、必要なすべての注文情報を入力します。
  4. [注文完了]をクリックします。

問題はここから始まります

5.自動的にホームページにリダイレクトされます。注文番号の確認が表示されません。しかし実際には、注文が行われ、顧客アカウントが作成されます。


これに対する解決策はありますか?私は同じ問題に直面しています。
パートタンマー

1
パッチのV2が公開され、問題が解決しました
Icon

2

私は同じ問題に出会いました。Magento1.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_v1-2018-02-28-04-53-53.shのTylerと同じ正確なエラー

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パッチ
ラマチャンドランM

www.magereport.comを確認したところ、すべてのパッチがインストールされていることが確認されました。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

Diffは、前のファイルに間違ったライセンス「Magento Enterprise Edition End User License Agreement」を含むMagento Enterprise Editionのファイルが含まれていることを示しています。これは「オープンソフトウェアライセンス(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パッチが適用されなかったために発生しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.