新しいパッチsupee-6788パッチの適用方法


29

今日(2015年10月27日)パッチを数週間待ってからリリースされました:SUPEE-6788

多くのパッチが適用されており、インストールされているモジュールの脆弱性を確認することも推奨されます。

パッチの適用方法に関する洞察を得るために、この投稿を開きます。パッチを適用する手順は何ですか?私の理解では、これは手順です:

  1. 管理URLの下にない管理機能を持つモジュールを修正する
  2. フィールド名またはエスケープフィールドとしてSQLステートメントを使用するモジュールを修正する
  3. {{config path=”web/unsecure/base_url”}}およびなどの変数を使用するホワイトリストブロックまたはディレクティブ{{bloc type=rss/order_new}}
  4. カスタムオプションファイルタイプによる潜在的なエクスプロイトへの対処(これを行う方法がわかりません)
  5. パッチを適用する

これは正しい手順ですか?


1
現在リストされているCEバージョン1.7.0.0から1.9.2.0
Fiasco Labs

5
パッチも変更.htaccess.sampleされ.htaccessます。後者はほとんどのショップでカスタマイズされているため、パッチが失敗します=> Magentoの元のファイルで一時的に置き換え、パッチを適用し、独自の.htaccessを復元し、cron.php手動でアクセスを保護する変更を適用する必要があります(don 'もちろん、このプロセスに生産システムを使用してください!)
ファビアンシュメングラー

1
nginxを使用している人はどうですか?
lloiacono

4
質問がないので、この質問をトピック外として終了することに投票します。ディスカッションをチャットに
7ochem

2
投稿のタイトルそのものにも質問があります。最後の段落にも、より具体的な質問があります。それにもかかわらず、この種の投稿は、私の意見では、新しくリリースされたパッチを適用する際のコメントとベストプラクティスを一元化するのに非常に役立ちます。
lloiacono

回答:


33

一般に、以前のすべてのパッチと同じようにパッチを適用できます。公式文書を見て、このSEの投稿をチェックしてください。ただし、このパッチを適用する際に確認する必要がある追加のポイントがいくつかあります。Byte / Hypernodeには、それに関する素晴らしい投稿があります。

  1. テーマにcustom template/customer/form/register.phtmlまたはcustom があるかどうかを確認しますtemplate/persistent/customer/form/register.phtml。この場合、が含まれていることを確認してくださいform_key
  2. テーマにカスタムがあるかどうかを確認しますlayout/customer.xml。この場合、パッチから必要な変更を適用してください(customer_account_resetpasswordに変更されていますcustomer_account_changeforgotten)。
  3. CMSページ、静的ブロック、または電子メールテンプレートで非標準の変数を使用していますか?次に、それらをホワイトリストに登録してください。変数/ブロックをホワイトリストに登録する方法については、このSEの質問をご覧ください。
  4. cron.phpHTTP経由で実行しますか?を使用することを確認してくださいcron.sh。これが不可能な場合は、少なくともCLI PHPを介してcron.phpを呼び出すようにしてください。何らかの理由で実際のcronjobを設定できず、HTTP経由で実行する必要がある場合は、このSEの質問を参照してください
  5. すべての拡張機能が「新しい」管理ルーティングを使用していることを確認してください。あなたは使用することができ、このN98-magerunのチェックするプラグインを。このCLIスクリプトを使用することもできます。あなたも見持つことができ、この関連のSEの質問を
    1. すべての拡張機能が適切な管理ルーティングを使用する場合は、[システム]-[構成]-[管理]-[セキュリティ]で[管理ルーティングの互換モードを有効にする]を無効にしてください。
  6. M2eProを使用している場合、古いバージョンは新しいパッチで動作しないため、M2eProを最新バージョンに更新します。

更新するときは、必ずファイルを削除してくださいdev/tests/functional/.htaccess。Magento 1.9.2.2にはもう存在しません。それを維持することは、あなたがまだ脆弱であることを意味します。

いずれにしても、更新後にMageReportでページをチェックして、すべてがうまくいったかどうかを確認してください。

Piotrによる技術的なブログ投稿もあり、重要な変更について説明しています。


ちょっとした注意点として、CLIスクリプトには「すべてが正常であることを確認してから、管理コントローラー互換モードを無効にする」と書かれています。それを可能にするために、彼らは反対を意味すると思います。そうですか?
マイケル

1
@kaskaすべての拡張機能に問題がなければ、互換モードを無効にする必要があります。
サイモン

実稼働環境では、/ devを完全に削除してはいけませんか?
paj

1
@paj理論的にははい。ただし、バージョン1.9.2.2では、.htaccessで保護されているため、保持しても問題ありません。上記の.htaccessアドバイスに従ってください。
サイモン

完成度に感謝します。次回は凝縮されたリリースノートを書くことができます!とても助かりました!
アシェラード


3

Nginxの場合は、cron.phpおよびdevフォルダーへのアクセスを必ずブロックしてください。このブロックを使用します。

location ~ ^/(app|includes|media/downloadable|pkginfo|report/config.xml|var|magmi|cron.php|dev)/? { deny all; }

正規表現は機能しません。ディレクトリに対してのみチェックします。そのため、「report / config.xml cron.php」は一致せず、最後に垂直バーまたはパイプ記号があります。コピーアンドペースト?また、/ app /と正規表現を混同しないでください。何かを置き忘れると、ハッキングされます。
MagenX

コピーアンドペーストジョブが正しくありません。申し訳ありません。?に追加されました 末尾にあるため、末尾のスラッシュはオプションです。ちょうど今それをテストしました、そして、それはそうするべきです。
アダムL.

また、この正規表現が脆弱である、あなたが持っている^ /、を確認してくださいは/ etc /、/のように/古い、トップフォルダにソースファイルをコピーアップグレードいけない
MagenX

@MagenXでは、バージョン管理や標準システム管理BCPを使用しない場合、この正規表現のせいだと言っているのですか?
メルビン

1

1.10.1 EEにパッチを適用したところ、コアがAPPSEC-1063に準拠していないため、ネイティブスクリーンで副作用が発生します。

例:

app/code/core/Mage/Customer/Model/Entity/Attribute/Collection.php

addFieldToFilterAPPSEC-1063に準拠していない2つの呼び出しを見つけることができます。

これにより、Customer> Attributeグリッドが破損するため、APPSEC-1063セクションのpdf "SUPEE-6788-Technical%20Details%20.pdf"で推奨されているトリックを使用して、パッチをパッチする必要があります。

いくつかの変更

    $this->addFieldToFilter($field, 0);

($ fieldには複雑な(CASE .. WHEN THEN ...)SQLステートメントが含まれます)

    $resultCondition = $this->_getConditionSql($field, 0);
    $this->_select->where($resultCondition);

rhoerrのsupee-6788-toolboxとgaiterjonesの両方は、この種の問題を検出しませんでした。他のすべてをチェックしました-> addFieldToFilter($で、どれも問題の原因ではないようです。

その他の影響を受ける1.10コアファイル:(rhoerrのsupee-6788-toolboxで発見)

app/code/core/Mage/Bundle/Model/Mysql4/Option/Collection.php 

もっとあるかもしれません。

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