Исправление безопасности SUPEE-11155 - Возможные проблемы?


28

Magento выпустила новое исправление безопасности для M1 и обновления для M1 и M2.

Какие распространенные проблемы вы должны остерегаться при применении этого патча / обновления?

Magento 1

https://magento.com/security/patches/supee-11155

Magento 2

Это должен быть последний выпуск в серии 2.1, который достигнет своего EOL в конце этого месяца.


1
Кто-нибудь проверял, что в мире это означает: «Цитаты, созданные клиентами, вошедшими в систему в качестве гостя, больше не доступны после обновления Magento. Расширения сторонней проверки и закрытые случаи безопасности либо не будут работать безопасно, либо не будут работать в все." ?
Калвин Клиен

Я весьма заинтересован в изменениях, на которые ссылается исправленная ошибка PRODSECBUG-2330
Richie Frame

Ответы:


11

Этот патч несовместим с патчем поддержки PHP 7.2 . Удаление строк с 1711 по 1761 позволяет применить патч. Этот патч пытается исправить файлы, которые были удалены патчем поддержки 7.2. Удаление этих строк должно быть безопасным.


1
На какой версии M1 вы работаете (или какую версию патча вы скачали)? У нас есть патч 1.7, поэтому нам нужно поближе познакомиться
Laura

1
@Laura Я на 1.9.2
Майкл Тессел

1
Выпущена новая версия патча v4, которая поддерживает PHP 7.2.
Лора

11

Ошибка установки на 1.7.0.2 CE со всеми предыдущими установленными исправлениями (см. Ниже).

РЕДАКТИРОВАТЬ: проблема (# 1) была вызвана отсутствующим файлом - app / code / core / Mage / Catalog / Model / Product / Option / Type / File.php.orig

Проблема (# 1) решена путем удаления строк 874 - 1702 (ссылается на File.php.orig) из сценария исправления.

Проблема (# 2) была вызвана неправильным форматированием патча и файла - js / tiny_mce / plugins / media / js / media.js

Проблема (# 2) была решена с помощью команды dos2unix для файла исправлений и файла media.js

Патч успешно установлен после разрешения двух описанных проблем.

Проверка, может ли патч быть успешно применен / отменен ...

ОШИБКА: исправление не может быть применено / отменено успешно.

приложение для исправления файла / Mage.php приложение для исправления файла / code / core / Mage / Admin / Model / Block.php приложение для исправления файла / code / core / Mage / Admin / Model / User.php приложение для исправления файла / code / core / Mage /AdminNotification/etc/system.xml файл исправления app / code / core / Mage / Adminhtml / Block / Api / Role / Grid / User.php приложение исправления файла / code / core / Mage / Adminhtml / Block / Catalog / Product / Edit /Tab/Super/Config.php приложение для исправления файла / code / core / Mage / Adminhtml / Block / Newsletter / Queue / Preview.php приложение для исправления файла / code / core / Mage / Adminhtml / Block / Newsletter / Template / Preview.php приложение для исправления файла / code / core / Mage / Adminhtml / Block / Permissions / Role / Grid / User.php приложение для исправления файла / code / core / Mage / Adminhtml / Block / Sales / Creditmemo / Grid.php приложение для исправления файла / code / core / Mage / Adminhtml / Block / Sales / Invoice / Grid.php, исправляющий файл приложения / code / core / Mage / Adminhtml / Block / Sales / Order / Create / Header.Приложение для исправления файла php / code / core / Mage / Adminhtml / Block / Sales / Order / Creditmemo / Create.php Приложение для исправления файла / code / core / Mage / Adminhtml / Block / Sales / Order / Grid.php Приложение для исправления файла / code /core/Mage/Adminhtml/Block/Sales/Order/Invoice/Create.php файл файла исправлений app / code / core / Mage / Adminhtml / Block / Sales / Order / Shipment / Create.php файл приложения заплаток / code / core / Mage /Adminhtml/Block/Sales/Order/View.php, исправляющий файл app / code / core / Mage / Adminhtml / Block / Sales / Shipment / Grid.php, исправляющий файл app / code / core / Mage / Adminhtml / Block / Sales / Transactions /Grid.php файл исправления приложения / code / core / Mage / Adminhtml / Block / System / Email / Template / Preview.php файл исправления приложения / code / core / Mage / Adminhtml / Block / Template.php файл исправления приложения / code / ядро / Маг / Adminhtml / блок / Втулка / Сетка / колонки / рендерер / Абстрактные.Приложение для исправления файла php / code / core / Mage / Adminhtml / Model / LayoutUpdate / Validator.php Приложение для исправления файла / code / core / Mage / Adminhtml / Model / System / Config / Backend / Baseurl.php Приложение для исправления файла / code / core /Mage/Adminhtml/Model/System/Config/Backend/Locale.php файл исправлений приложения / code / core / Mage / Adminhtml / Model / System / Config / Backend / Serialized / Array.php файл исправления приложения / code / core / Mage /Adminhtml/controllers/Catalog/Product/AttributeController.php файл исправления приложения / code / core / Mage / Adminhtml / controllers / Каталог / Product / ReviewController.php файл исправления приложения / code / core / Mage / Adminhtml / controllers / Catalogue / ProductController Приложение для исправления файла .php / code / core / Mage / Adminhtml / controllers / Checkout / AgreementController.php Приложение для исправления файла / code / core / Mage / Adminhtml / controllers / Newsletter / TemplateController.Приложение для исправления файла php / code / core / Mage / Adminhtml / controllers / Promo / CatalogController.php Приложение для исправления файла / code / core / Mage / Adminhtml / controllers / Promo / QuoteController.php Приложение для исправления файла / code / core / Mage / Adminhtml /controllers/Sales/Order/CreateController.php файл исправлений app / code / core / Mage / Adminhtml / controllers / SitemapController.php файл исправлений app / code / core / Mage / Adminhtml / controllers / System / Email / TemplateController.php файл исправлений app / code / core / Mage / каталог / помощник / product.php следующийПриложение для исправления файла php / code / core / Mage / Adminhtml / controllers / System / Email / TemplateController.php Приложение для исправления файла / code / core / Mage / Catalogue / Helper / Product.php СледующееПриложение для исправления файла php / code / core / Mage / Adminhtml / controllers / System / Email / TemplateController.php Приложение для исправления файла / code / core / Mage / Catalogue / Helper / Product.php Следующее

патч удалит файл app / code / core / Mage / Catalog / Model / Product / Option / Type / File.php.orig, который не существует!
Предположим, -R? [n]
Применить в любом случае? [n]
Пропуск патча. Файл исправления игнорируется 1 из 1

Приложение / code / core / Mage / Checkout / Model / Session.php файл исправления app / code / core / Mage / Checkout / controllers / OnepageController. Приложение / код / ​​ядро ​​/ Mage / Каталог / контроллеры / Product / CompareController.php. приложение для исправления файла php / code / core / Mage / Cms / Helper / Data.php приложение для исправления файла / code / core / Mage / Cms / Model / Wysiwyg / Config.php приложение для исправления файла / code / core / Mage / Cms / etc /config.xml приложение для исправления файла / code / core / Mage / Compiler / Model / Process.php приложение для исправления файла / code / core / Mage / Core / Helper / Abstract.php приложение для исправления файла / code / core / Mage / Core / Приложение для исправления файла помощника / Data.php / code / core / Mage / Core / Model / Design / Package.php Приложение для исправления файла / code / core / Mage / Core / Model / Email / Template / Filter.php приложение для исправления файла /core/Mage/Core/Model/File/Validator/AvailablePath.php исправляя файл приложения / code / core / Mage / Core / Model / Observer.Приложение для исправления файла php / code / core / Mage / Core / etc / config.xml Приложение для исправления файла php / code / core / Mage / Core / functions.php Приложение для исправления файла / code / core / Mage / CurrencySymbol / Модель / System / Currencysymbol Приложение для исправления файла .php / code / core / Mage / Загружаемые / controllers / DownloadController.php Приложение для исправления файла / code / core / Mage / SalesRule / Model / Coupon / Massgenerator.php Приложение для исправления файла / code / core / Mage / SalesRule / Модель / Ресурс / Отчет / Правило / Createdat.php файл исправления app / code / core / Mage / Sendfriend / etc / config.xml файл исправления app / code / core / Mage / Sendfriend / etc / system.xml файл исправления app / design /adminhtml/default/default/template/catalog/product/composite/fieldset/configurable.phtml файл исправлений app / design / adminhtml / default / default / template / catalog / product / helper / gallery.phtml файл исправлений app / design / adminhtml / default / default / template / catalog / product / tab / inventory.phtml файл исправлений app / design / adminhtml / default / default / template / currentcysymbol / grid.phtml файл исправлений app / design / adminhtml /default/default/template/customer/tab/addresses.phtml файл исправлений app / design / adminhtml / default / default / template / customer / tab / view.phtml файл исправлений app / design / adminhtml / default / default / template / messages /window.phtml файл исправлений app / design / adminhtml / default / default / template / sales / order / create / data.phtml файл исправлений app / design / adminhtml / default / default / template / sales / order / view / info.phtml файл исправлений app / design / adminhtml / default / default / template / system / currency / rate / matrix.phtml файл исправлений app / locale / en_US / Mage_Adminhtml.csv файл исправлений app / locale / en_US / Mage_Core.файл исправления csv app / locale / en_US / Mage_Sales.csv файл исправления app / locale / en_US / Mage_Sitemap.csv файл исправления js / mage / adminhtml / wysiwyg / tiny_mce / setup.js файл исправления js / tiny_mce / plugins / media / js / media.js

Ханк № 1 СБОЙ на 434. 1 из 1 ХАЙК СБОЙ - сохранение отклоняет в файл исправлений js / tiny_mce / plugins / media / js / media.js.rej

js / varien / js.js файл исправлений lib / phpseclib / PHP / Compat / Function / array_fill.php файл исправлений lib / phpseclib / PHP / Compat / Function / bcpowmod.php файл исправлений lib / phpseclib / PHP / Compat / Function / str_split .php


Спасибо. Эти две проблемы были также теми, с которыми я столкнулся в 1.7.0.2 и PATCH_SUPEE-11155_CE_1.7.0.2_v3-2019-06-18-08-07-47.sh
Энтони

Спот на 1.7.0.2 выпусков.
Shaune

9

Magento 1.9.1.0.

Патч был успешно применен.

После добавления товара в корзину и входа в нее, корзина снова пуста.

Я не думаю, что проблема была там раньше, и, кажется, есть изменения, внесенные в app/code/core/Mage/Checkout/Model/Session.php

ОБНОВИТЬ:

Я отладил это немного.

Когда я возвращаю исправленную версию, app/code/core/Mage/Checkout/Model/Session.phpона снова работает для меня. Так что я уверен, что это связано с патчем.

Сначала я подумал, что это было в сочетании с, $quote->unsetData();но мои тесты были неокончательными, и в любом случае это не будет исправлением.

Так как я сейчас в отпуске, у меня ограниченное время, чтобы расследовать это дальше.

ОБНОВЛЕНИЕ 2:

Эта проблема, кажется, решена с помощью последнего патча (SUPEE-11219). Были внесены изменения в app / code / core / Mage / Checkout / Model / Session.php.


В примечаниях к выпуску Magento есть примечание: «Цитаты, созданные клиентами, вошедшими в систему в качестве гостя, больше не доступны после обновления Magento. Сторонние расширения для проверки и закрытые случаи безопасности либо не будут работать безопасно, либо не будут работать вообще. ». Я сейчас прошу у них разъяснений. devdocs.magento.com/guides/m1x/ce19-ee114/…
Калвин Клиен

Привет @Claudio, вы нашли какое-либо решение / ответ на этот вопрос? В настоящее время я сталкиваюсь с тем же: добавить в корзину -> оформить заказ -> создать учетную запись -> вернуться на главную страницу, пустая корзина, но вошли в систему ... Заранее спасибо.
Антуан Коцюба

Привет @AntoineKociuba, к сожалению, нет. Я, правда, не искал решения, хотя, если честно.
Клаудио

Эта проблема, кажется, решена с помощью последнего патча (SUPEE-11219). Были внесены изменения в app / code / core / Mage / Checkout / Model / Session.php.
Клаудио

7

На M1, в частности, 1.9.2.1 со всеми предыдущими исправлениями. Я получил следующую ошибку:

Hunk #1 FAILED at 483.
1 out of 1 hunk FAILED -- saving rejects to file js/tiny_mce/plugins/media/js/media.js.rej

Удаление строк об этом файле из файла исправления и ручное применение этого изменения сработало для меня, когда я повторно применил файл исправления.

Когда я посмотрел на разницу между файлом js / tiny_mce / plugins / media / js / media.js и файлом OpenMage Mirror, это были идентичные файлы.


Этот файл вообще не затрагивался никакими исправлениями или обновлениями вручную. Это похоже на проблему в патче? Глядя на его название, похоже, что до его выпуска уже было 1-3 версии.
Калвин Клиен

Была ли эта проблема на 1.9.1.1 со всеми предыдущими исправлениями? Замена js / tiny_mce / plugins / media / js / media.js файлом из OpenMage Mirror работала для меня. Хотя содержимое файлов было идентичным, я думаю, что окончания строк в моем существующем файле были по какой-то причине неправильными.
wr125

5
Запуск dos2unix на патче перед применением исправил проблему для нас. Ранее провал, как указано выше, успешно завершено после.
Joesk

Запуск dos2unix в файле патча решил эту проблему для меня на 1.9.2.3, но я не нашел, что это требуется на 1.9.2.1 (я попытался из любопытства, и это привело к сбою патча).
Дейв Герберт

5

1.9.1.0, после успешного применения патча, получите ошибку ниже при входе в систему admin

Fatal error: Call to undefined function random_int() in /app/code/core/Mage/Core/Helper/Data.php on line 257 

как исправить?


Также после обновления с 1.9.4.1 до 1.9.4.2 мы сталкиваемся с той же проблемой.
Joesk

Я получаю ту же проблему в 1.9.4.1 с 11155.
seanbreeden

7
Проблема оказалась в переопределении приложения / code / core / Mage / Core / functions.php. Убедитесь, что никто не перезаписал этот файл, иначе исправление не удастся при вызове неопределенной ошибки функции. Посмотрите в "app / code / local / Mage / Core / functions.php"
seanbreeden

1
ты очень прав.
июнь

1
Большое спасибо @seanbreeden!
Маурисио Пас

3

На M1, 1.9.1.0 со всеми предыдущими исправлениями я получаю множество ошибок:

checking file app/Mage.php 
Hunk #1 FAILED at 813. 
1 out of 1 hunk FAILED

checking file app/code/core/Mage/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/Config.php
Hunk #1 FAILED at 155.
1 out of 1 hunk FAILED

checking file app/code/core/Mage/Adminhtml/Model/LayoutUpdate/Validator.php
Hunk #1 FAILED at 180.
1 out of 1 hunk FAILED

checking file app/code/core/Mage/Cms/Helper/Data.php
Hunk #1 FAILED at 37.
Hunk #2 succeeded at 58 with fuzz 2 (offset -16 lines).
1 out of 2 hunks FAILED

checking file app/design/adminhtml/default/default/template/catalog/product/helper/gallery.phtml
Hunk #1 FAILED at 59.
1 out of 1 hunk FAILED

checking file js/tiny_mce/plugins/media/js/media.js
Hunk #1 FAILED at 483 (different line endings).
1 out of 1 hunk FAILED

Если взглянуть на сам код в файле патча, то выясняется, что он совсем не соответствует PHP в моей установке.

Может быть, я пропустил патч где-то по пути?


Я думаю, что вы пропустили патч, вероятно. Проверьте свой /app/etc/applied.patches.list
Калвин Клиен

см. magento.stackexchange.com/a/280148/202 относительно Hunk # 1 FAILED на 59 на gallery.phtml - возможно, у вас есть такое изменение в вашем коде?
ProxiBlue

@ Matt Вы выяснили, какой патч вы пропустили?
Рупи

3

Magento 1.7.0.2

Я получаю:

Hunk #1 succeeded at 113 with fuzz 2 (offset 4 lines).
checking file js/tiny_mce/plugins/media/js/media.js
checking file js/varien/js.js

Hunk #1 succeeded at 707 (offset 5 lines).
checking file lib/phpseclib/PHP/Compat/Function/array_fill.php
checking file lib/phpseclib/PHP/Compat/Function/bcpowmod.php
checking file lib/phpseclib/PHP/Compat/Function/str_split.php

Это патч PHP 7.2?

ОБНОВЛЕНИЕ: похоже, что эти файлы на самом деле были в порядке, это было просто смещение пустого пространства

Файл проблемы был:

checking file app/code/core/Mage/Catalog/Model/Product/Option/Type/File.php.orig

Я думаю, что это был какой-то файл, оставленный одним из патчей. Новый патч просто удаляет этот файл. У меня его не было в этом каталоге, поэтому появилась ошибка.

ОБНОВЛЕНИЕ: список уязвимых файлов в Magento 1.7.0.2

app/Mage.php
app/code/core/Mage/Admin/Model/Block.php
app/code/core/Mage/Admin/Model/User.php
app/code/core/Mage/AdminNotification/etc/system.xml
app/code/core/Mage/Adminhtml/Block/Api/Role/Grid/User.php
app/code/core/Mage/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/Config.php
app/code/core/Mage/Adminhtml/Block/Newsletter/Queue/Preview.php
app/code/core/Mage/Adminhtml/Block/Newsletter/Template/Preview.php
app/code/core/Mage/Adminhtml/Block/Permissions/Role/Grid/User.php
app/code/core/Mage/Adminhtml/Block/Sales/Creditmemo/Grid.php
app/code/core/Mage/Adminhtml/Block/Sales/Invoice/Grid.php
app/code/core/Mage/Adminhtml/Block/Sales/Order/Create/Header.php
app/code/core/Mage/Adminhtml/Block/Sales/Order/Creditmemo/Create.php
app/code/core/Mage/Adminhtml/Block/Sales/Order/Grid.php
app/code/core/Mage/Adminhtml/Block/Sales/Order/Invoice/Create.php
app/code/core/Mage/Adminhtml/Block/Sales/Order/Shipment/Create.php
app/code/core/Mage/Adminhtml/Block/Sales/Order/View.php
app/code/core/Mage/Adminhtml/Block/Sales/Shipment/Grid.php
app/code/core/Mage/Adminhtml/Block/Sales/Transactions/Grid.php
app/code/core/Mage/Adminhtml/Block/System/Email/Template/Preview.php
app/code/core/Mage/Adminhtml/Block/Template.php
app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Renderer/Abstract.php
app/code/core/Mage/Adminhtml/Model/LayoutUpdate/Validator.php
app/code/core/Mage/Adminhtml/Model/System/Config/Backend/Baseurl.php
app/code/core/Mage/Adminhtml/Model/System/Config/Backend/Locale.php
app/code/core/Mage/Adminhtml/Model/System/Config/Backend/Serialized/Array.php
app/code/core/Mage/Adminhtml/controllers/Catalog/Product/AttributeController.php
app/code/core/Mage/Adminhtml/controllers/Catalog/Product/ReviewController.php
app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php
app/code/core/Mage/Adminhtml/controllers/Checkout/AgreementController.php
app/code/core/Mage/Adminhtml/controllers/Newsletter/TemplateController.php
app/code/core/Mage/Adminhtml/controllers/Promo/CatalogController.php
app/code/core/Mage/Adminhtml/controllers/Promo/QuoteController.php
app/code/core/Mage/Adminhtml/controllers/Sales/Order/CreateController.php
app/code/core/Mage/Adminhtml/controllers/SitemapController.php
app/code/core/Mage/Adminhtml/controllers/System/Email/TemplateController.php
app/code/core/Mage/Catalog/Helper/Product.php
app/code/core/Mage/Catalog/controllers/Product/CompareController.php
app/code/core/Mage/Checkout/Model/Session.php
app/code/core/Mage/Checkout/controllers/OnepageController.php
app/code/core/Mage/Cms/Helper/Data.php
app/code/core/Mage/Cms/Model/Wysiwyg/Config.php
app/code/core/Mage/Cms/etc/config.xml
app/code/core/Mage/Compiler/Model/Process.php
app/code/core/Mage/Core/Helper/Abstract.php
app/code/core/Mage/Core/Helper/Data.php
app/code/core/Mage/Core/Model/Design/Package.php
app/code/core/Mage/Core/Model/Email/Template/Filter.php
app/code/core/Mage/Core/Model/File/Validator/AvailablePath.php
app/code/core/Mage/Core/Model/Observer.php
app/code/core/Mage/Core/etc/config.xml
app/code/core/Mage/Core/functions.php
app/code/core/Mage/CurrencySymbol/Model/System/Currencysymbol.php
app/code/core/Mage/Downloadable/controllers/DownloadController.php
app/code/core/Mage/SalesRule/Model/Coupon/Massgenerator.php
app/code/core/Mage/SalesRule/Model/Resource/Report/Rule/Createdat.php
app/code/core/Mage/Sendfriend/etc/config.xml
app/code/core/Mage/Sendfriend/etc/system.xml
app/design/adminhtml/default/default/template/catalog/product/composite/fieldset/configurable.phtml
app/design/adminhtml/default/default/template/catalog/product/helper/gallery.phtml
app/design/adminhtml/default/default/template/catalog/product/tab/inventory.phtml
app/design/adminhtml/default/default/template/currencysymbol/grid.phtml
app/design/adminhtml/default/default/template/customer/tab/addresses.phtml
app/design/adminhtml/default/default/template/customer/tab/view.phtml
app/design/adminhtml/default/default/template/notification/window.phtml
app/design/adminhtml/default/default/template/sales/order/create/data.phtml
app/design/adminhtml/default/default/template/sales/order/view/info.phtml
app/design/adminhtml/default/default/template/system/currency/rate/matrix.phtml
app/etc/applied.patches.list
app/locale/en_US/Mage_Adminhtml.csv
app/locale/en_US/Mage_Core.csv
app/locale/en_US/Mage_Sales.csv
app/locale/en_US/Mage_Sitemap.csv
js/mage/adminhtml/wysiwyg/tiny_mce/setup.js
js/mage/adminhtml/wysiwyg/tiny_mce/setup.js.orig
js/tiny_mce/plugins/media/js/media.js
js/varien/js.js
js/varien/js.js.orig
lib/phpseclib/PHP/Compat/Function/array_fill.php
lib/phpseclib/PHP/Compat/Function/bcpowmod.php
lib/phpseclib/PHP/Compat/Function/str_split.php

2

На версии 1.9.4.0 M1 со всеми предыдущими исправлениями я получил следующую ошибку

checking file app/Mage.php
Hunk #1 FAILED at 816.
1 out of 1 hunk FAILED

как я вижу из файла патча, он ищет

diff --git app/Mage.php app/Mage.php
index 1136f6e9351..eb9e6db3a9e 100644
--- app/Mage.php
+++ app/Mage.php
@@ -816,9 +816,9 @@ final class Mage
             ',',
             (string) self::getConfig()->getNode('dev/log/allowedFileExtensions', Mage_Core_Model_Store::DEFAULT_CODE)
         );
-        $logValidator = new Zend_Validate_File_Extension($_allowedFileExtensions);
         $logDir = self::getBaseDir('var') . DS . 'log';
-        if (!$logValidator->isValid($logDir . DS . $file)) {
+        $validatedFileExtension = pathinfo($file, PATHINFO_EXTENSION);
+        if (!$validatedFileExtension || !in_array($validatedFileExtension, $_allowedFileExtensions)) {
             return;
         }

но вместо этого вот что у меня есть

        }

        try {
            if (!isset($loggers[$file])) {
                $logDir  = self::getBaseDir('var') . DS . 'log';
                $logFile = $logDir . DS . $file;

                if (!is_dir($logDir)) {
                    mkdir($logDir);

Я подтвердил на https://raw.githubusercontent.com/OpenMage/magento-mirror/1.9.4.0/app/Mage.php, что у нас есть правильный код и версия.

Обновлюсь, если найду решение


Тот же вопрос с 1.9.3.7
Вели

Я согласен с @Haim. Я также получаю ту же проблему после применения патча SUPEE -11155 на M1 версии 1.9.4.0. Ниже одной ошибки Проверка, если исправление может быть применено / отменено успешно ... -e ОШИБКА: Исправление не может быть успешно применено / отменено. проверка файла app / Mage.php Hunk # 1 FAILED на 816. 1 из 1 Hunk FAILED Дайте мне знать, если кто-нибудь найдет решение
Викас Гупта

2

Использование open-mage-lts 1.9.4.1

проверка файла приложения / design / adminhtml / default / default / template / catalog / product / helper / gallery.phtml Hunk # 1 FAILED в 59. 1 из 1 hunk FAILED

Сравнение -lts с ядром:

00:20 $ diff app/design/adminhtml/default/default/template/catalog/product/helper/gallery.phtml /tmp/gallery.phtml 
62c62
<                 <th><?php echo str_replace("&lt;br/&gt;","<br/>",$this->escapeHtml($type['label'])); ?></th>
---
>                 <th><?php echo $this->escapeHtml($type['label']); ?></th>

который был представлен этим пиаром в -lts

https://github.com/OpenMage/magento-lts/pull/596

https://github.com/OpenMage/magento-lts/pull/788


Исправленный код:

-                <th><?php echo $this->escapeHtml($type['label']); ?></th>
+                <th><?php echo $this->escapeHtml($type['label'], array('br')); ?></th>

Если используется корпоративная версия 1.14.4.0, тот же код ошибки вызван предыдущим исправлением безопасности 10888. Исправление для обновления строки 61 приложения / design / adminhtml / default / default / template / catalog / product / helper / gallery.phtml From: <? Php foreach ($ _block-> getImageTypes () как $ typeId => $ type):?> Кому: <? Php foreach ($ _block-> getImageTypes () как $ typeId => $ type):?>
Baber

2

Чего не хватает в SUPEE-11155 (CE / EE), так это того, что в Mage_Catalog_Helper_Productфайле классов getDefaultProductValueбыл введен метод, основанный на DEFAULT_QTYпостоянной переменной.

Проблема в том, что эта переменная не существует во многих различных файлах исправлений, а присутствует только в нескольких из них: https://ibb.co/LzcL0gn

Должны ли мы исправить это сами? Magento, вы знаете об этом?

Спасибо всем


Что заставляет вас говорить, что переменная, отсутствующая в патче, является проблемой? Вероятно, переменная уже существует в этих версиях Magento.
Питер О'Каллаган

@ PeterO'Callaghan Нет, проблема в том, что эта переменная не существует все время в этой версии. Проверено на EE 1.14.0.1 и EE 1.14.2.2, и ничего. Чтобы убедиться в этом, мы видим, что в версиях CE 1.8 эта переменная не включена в патч и не присутствует по умолчанию в исходном коде (см. Github.com/OpenMage/magento-mirror/blob/magento-1.8). / app / code /… ). Так что я уверен, что у нас, к сожалению, есть проблема с несколькими версиями CE / EE.
Антуан Коцюба

2

Это только у меня так или не похоже на ошибку?

PATCH_SUPEE-11155_EE_1.14.2.0_v3-2019-06-18-08-46-48.sh

  • Функция написана для получения значения продукта по умолчанию по имени поля, но всегда будет возвращать либо:
    • $ FieldData [ 'инвентаризации']; (Инвентаризация)
    • self :: DEFAULT_QTY (эта константа не определена)

Я что-то здесь упускаю?

   1026 diff --git app/code/core/Mage/Catalog/Helper/Product.php app/code/core/Mage/Catalog/Helper/Product.php
   1027 index 45756bf74dc..476483f35bb 100755
   1028 --- app/code/core/Mage/Catalog/Helper/Product.php
   1029 +++ app/code/core/Mage/Catalog/Helper/Product.php
   1030 @@ -485,4 +485,41 @@ class Mage_Catalog_Helper_Product extends Mage_Core_Helper_Url
   1031      {
   1032          return $this->_skipSaleableCheck;
   1033      }
   1034 +
   1035 +    /**
   1036 +     * Get default product value by field name
   1037 +     *
   1038 +     * @param string $fieldName
   1039 +     * @param string $productType
   1040 +     * @return int
   1041 +     */
   1042 +    public function getDefaultProductValue($fieldName, $productType)
   1043 +    {
   1044 +        $fieldData = $this->getFieldset($fieldName) ? (array) $this->getFieldset($fieldName) : null;
   1045 +        if (
   1046 +            count($fieldData)
   1047 +            && array_key_exists($productType, $fieldData['product_type'])
   1048 +            && (bool)$fieldData['use_config']
   1049 +        ) {
   1050 +            return $fieldData['inventory'];
   1051 +        }
   1052 +        return self::DEFAULT_QTY;
   1053 +    }
   1054 +
   1055 +    /**
   1056 +     * Return array from config by fieldset name and area
   1057 +     *
   1058 +     * @param null|string $field
   1059 +     * @param string $fieldset
   1060 +     * @param string $area
   1061 +     * @return array|null
   1062 +     */
   1063 +    public function getFieldset($field = null, $fieldset = 'catalog_product_dataflow', $area = 'admin')
   1064 +    {
   1065 +        $fieldsetData = Mage::getConfig()->getFieldset($fieldset, $area);
   1066 +        if ($fieldsetData) {
   1067 +            return $fieldsetData ? $fieldsetData->$field : $fieldsetData;
   1068 +        }
   1069 +        return $fieldsetData;
   1070 +    }

Хорошая новость в том , что она называется только через одну области в коде и до тех пор , пока у вас есть действительный идентификатор продукта не будет вызывать эту функцию. Но если нет действительного идентификатора продукта или кто-то пытается использовать эту функцию в зависимости от того, как она была разработана, проблемы, скорее всего, появятся.

приложение / дизайн / adminhtml / по умолчанию / по умолчанию / шаблон / Каталог / продукта / вкладка / inventory.phtml

<?php echo (bool)$this->getProduct()->getId() ? (int)$this->getFieldValue('min_sale_qty') : Mage::helper('catalog/product')->getDefaultProductValue('min_sale_qty', $this->getProduct()->getTypeId()) ?>

2

Для тех, кто использует PHP 5.3 (или ниже 5.4), вот некоторые части патча, которые вам нужно изменить.

Для справки, это для PATCH_SUPEE-11155_CE_1.7.0.2_v4-2019-08-01-03-58-34

приложение / код / ​​ядро ​​/ Mage / Adminhtml / контроллеры / Информационный бюллетень / TemplateController.php

$allowedHtmlTags = ['text', 'styles'];

FIX:
$allowedHtmlTags = array('text', 'styles');

Приложение / код / ​​ядро ​​/ Mage / Adminhtml / Контроллеры / System / Email / TemplateController.php

$allowedHtmlTags = ['template_text', 'styles']

FIX:
$allowedHtmlTags = array('template_text', 'styles');

Приложение / код / ​​ядро ​​/ Mage / Cms / Helper / Data.php

$statusSwf = $statusSwf->asArray()[0];

FIX:
$statusSwf = $statusSwf->asArray();
$statusSwf = $statusSwf[0];

Примечание. Если вы изменяете их в файле исправлений, не забудьте также изменить положение длин, поскольку вы добавляете новую строку в файл исправлений. Например, для последнего, упомянутого выше:

@@ -74,4 +75,19 @@ class Mage_Cms_Helper_Data extends Mage_Core_Helper_Abstract

change to 

@@ -74,4 +75,20 @@ class Mage_Cms_Helper_Data extends Mage_Core_Helper_Abstract
             ^^ incremented

2

EE 1.13.1.0 под управлением PHP 7.0.x с модулем Inchoo PHP7:

Акции> Правила корзины покупок (возможно, и другие): вы не можете сохранить правило, возникает исключение «Указано неверное правило».

Мы решили эту проблему, переписав Mage_Adminhtml_Helper_Data :: removeTags с одним из 1.14.xx (я использовал 1.14.4.0 - не уверен в точной версии, которая его изменила).

Обновленная версия:

public function removeTags($html)
{
    $html = preg_replace_callback(
        "# <(?![/a-z]) | (?<=\s)>(?![a-z]) #xi",
        function ($matches) {
            return htmlentities($matches[0]);
        },
        $html
    );
    $html =  strip_tags($html);
    return htmlspecialchars_decode($html);
}

1

Была такая же проблема, как @Mat

On M1, 1.9.1.0 with all previous patches applied, I get numerous errors:

Конечные строки моей строки не были установлены в репозиторий unix / macosx (другой разработчик использовал Windows-dows).

использовал dos2unix для конвертации необходимых файлов и работал.

И как @chaoticgeek, у меня есть:

Hunk #1 FAILED at 483. 1 out of 1 hunk FAILED -- saving rejects to file js/tiny_mce/plugins/media/js/media.js.rej

Это произошло на всех репозиториях (6): 1.9.2.4, 1.9.3.8 x 2, 1.9.3.2 x 2 и 1.9.2.1.


Подтверждена та же проблема на EE 1.13.10
Лаура

1

та же проблема на Magento CE 1.8.1 со всеми примененными исправлениями:

проверка файла app / Mage.php Hunk # 1 FAILED на 813. 1 из 1 Hunk FAILED

любая помощь / идея там?


1

приложение / код / ​​ядро ​​/ Mage / Adminhtml / контроллеры / System / ConfigController.php

измените это на:

-> setGroupsSelector ($ groups) для -> setGroups ($ groups)


0

На М1 1.9.1.0 у меня есть

Hunk #1 FAILED at 483 (different line endings).

Даже когда я бегу

find . -type f -exec dos2unix {} \;

ничего не меняется.

Как я могу узнать, какой это файл? 486 это линия пути?


Мог найти любое решение, поэтому мне пришлось запустить путь в среде Win. Поскольку исправление работает только с файлами, нет необходимости иметь веб-сервер.
Hypo

0

Я в настоящее время на v1.9.3.1 и получил несколько конфликтов. Я использую третью версию патча (см. Имя файла):

РЕДАКТИРОВАТЬ: После некоторой проверки мы пропустили некоторые предыдущие патчи. Буду обновлять позже.

PATCH_SUPEE-11155_CE_1.9.3.1_v3-2019-06-18-08-15-43.sh: 14: PATCH_SUPEE-11155_CE_1.9.3.1_v3-2019-06-18-08-15-43.sh: 127: not found
PATCH_SUPEE-11155_CE_1.9.3.1_v3-2019-06-18-08-15-43.sh: 14: PATCH_SUPEE-11155_CE_1.9.3.1_v3-2019-06-18-08-15-43.sh: 127: not found
PATCH_SUPEE-11155_CE_1.9.3.1_v3-2019-06-18-08-15-43.sh: 25: PATCH_SUPEE-11155_CE_1.9.3.1_v3-2019-06-18-08-15-43.sh: 0: not found
Checking if patch can be applied/reverted successfully...
-e ERROR: Patch can\'t be applied/reverted successfully.

checking file app/Mage.php
checking file app/code/core/Mage/Admin/Model/Block.php
checking file app/code/core/Mage/Admin/Model/User.php
Hunk #1 succeeded at 586 (offset -4 lines).
checking file app/code/core/Mage/AdminNotification/etc/system.xml
checking file app/code/core/Mage/Adminhtml/Block/Api/Role/Grid/User.php
checking file app/code/core/Mage/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/Config.php
Hunk #1 FAILED at 155.
1 out of 1 hunk FAILED
checking file app/code/core/Mage/Adminhtml/Block/Newsletter/Queue/Preview.php
checking file app/code/core/Mage/Adminhtml/Block/Newsletter/Template/Preview.php
checking file app/code/core/Mage/Adminhtml/Block/Permissions/Role/Grid/User.php
checking file app/code/core/Mage/Adminhtml/Block/Sales/Creditmemo/Grid.php
checking file app/code/core/Mage/Adminhtml/Block/Sales/Invoice/Grid.php
checking file app/code/core/Mage/Adminhtml/Block/Sales/Order/Create/Header.php
checking file app/code/core/Mage/Adminhtml/Block/Sales/Order/Creditmemo/Create.php
checking file app/code/core/Mage/Adminhtml/Block/Sales/Order/Grid.php
checking file app/code/core/Mage/Adminhtml/Block/Sales/Order/Invoice/Create.php
checking file app/code/core/Mage/Adminhtml/Block/Sales/Order/Shipment/Create.php
checking file app/code/core/Mage/Adminhtml/Block/Sales/Order/View.php
checking file app/code/core/Mage/Adminhtml/Block/Sales/Shipment/Grid.php
checking file app/code/core/Mage/Adminhtml/Block/Sales/Transactions/Grid.php
checking file app/code/core/Mage/Adminhtml/Block/System/Email/Template/Preview.php
checking file app/code/core/Mage/Adminhtml/Block/Template.php
checking file app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Renderer/Abstract.php
checking file app/code/core/Mage/Adminhtml/Model/LayoutUpdate/Validator.php
Hunk #1 FAILED at 180.
1 out of 1 hunk FAILED
1 out of 1 hunk FAILED
checking file app/code/core/Mage/Adminhtml/Model/System/Config/Backend/Baseurl.php
checking file app/code/core/Mage/Adminhtml/Model/System/Config/Backend/Locale.php
checking file app/code/core/Mage/Adminhtml/Model/System/Config/Backend/Serialized/Array.php
checking file app/code/core/Mage/Adminhtml/controllers/Catalog/Product/AttributeController.php
checking file app/code/core/Mage/Adminhtml/controllers/Catalog/Product/ReviewController.php
checking file app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php
checking file app/code/core/Mage/Adminhtml/controllers/Checkout/AgreementController.php
checking file app/code/core/Mage/Adminhtml/controllers/Newsletter/TemplateController.php
checking file app/code/core/Mage/Adminhtml/controllers/Promo/CatalogController.php
checking file app/code/core/Mage/Adminhtml/controllers/Promo/QuoteController.php
checking file app/code/core/Mage/Adminhtml/controllers/Sales/Order/CreateController.php
checking file app/code/core/Mage/Adminhtml/controllers/SitemapController.php
checking file app/code/core/Mage/Adminhtml/controllers/System/Email/TemplateController.php
checking file app/code/core/Mage/Catalog/Helper/Product.php
checking file app/code/core/Mage/Catalog/controllers/Product/CompareController.php
checking file app/code/core/Mage/Checkout/Model/Session.php
checking file app/code/core/Mage/Checkout/controllers/OnepageController.php
Hunk #1 succeeded at 570 (offset 8 lines).
checking file app/code/core/Mage/Cms/Helper/Data.php
checking file app/code/core/Mage/Cms/Model/Wysiwyg/Config.php
checking file app/code/core/Mage/Cms/etc/config.xml
checking file app/code/core/Mage/Compiler/Model/Process.php
checking file app/code/core/Mage/Core/Helper/Abstract.php
checking file app/code/core/Mage/Core/Helper/Data.php
checking file app/code/core/Mage/Core/Model/Design/Package.php
checking file app/code/core/Mage/Core/Model/Email/Template/Filter.php
checking file app/code/core/Mage/Core/Model/File/Validator/AvailablePath.php
checking file app/code/core/Mage/Core/Model/Observer.php
checking file app/code/core/Mage/Core/etc/config.xml
checking file app/code/core/Mage/Core/functions.php
checking file app/code/core/Mage/CurrencySymbol/Model/System/Currencysymbol.php
checking file app/code/core/Mage/Downloadable/controllers/DownloadController.php
checking file app/code/core/Mage/SalesRule/Model/Coupon/Massgenerator.php
checking file app/code/core/Mage/SalesRule/Model/Resource/Report/Rule/Createdat.php
checking file app/code/core/Mage/Sendfriend/etc/config.xml
checking file app/code/core/Mage/Sendfriend/etc/system.xml
checking file app/design/adminhtml/default/default/template/catalog/product/composite/fieldset/configurable.phtml
checking file app/design/adminhtml/default/default/template/catalog/product/helper/gallery.phtml
Hunk #1 FAILED at 59.
1 out of 1 hunk FAILED
checking file app/design/adminhtml/default/default/template/catalog/product/tab/inventory.phtml
checking file app/design/adminhtml/default/default/template/currencysymbol/grid.phtml
checking file app/design/adminhtml/default/default/template/customer/tab/addresses.phtml
checking file app/design/adminhtml/default/default/template/customer/tab/view.phtml
checking file app/design/adminhtml/default/default/template/notification/window.phtml
checking file app/design/adminhtml/default/default/template/sales/order/create/data.phtml
checking file app/design/adminhtml/default/default/template/sales/order/view/info.phtml
Hunk #4 succeeded at 176 (offset 22 lines).
Hunk #5 succeeded at 189 with fuzz 1 (offset 22 lines).
checking file app/design/adminhtml/default/default/template/system/currency/rate/matrix.phtml
checking file app/locale/en_US/Mage_Adminhtml.csv
checking file app/locale/en_US/Mage_Core.csv
checking file app/locale/en_US/Mage_Sales.csv
checking file app/locale/en_US/Mage_Sitemap.csv
checking file js/mage/adminhtml/wysiwyg/tiny_mce/setup.js
checking file js/tiny_mce/plugins/media/js/media.js
checking file js/varien/js.js
checking file lib/phpseclib/PHP/Compat/Function/array_fill.php
checking file lib/phpseclib/PHP/Compat/Function/bcpowmod.php
checking file lib/phpseclib/PHP/Compat/Function/str_split.php

0

В настоящее время я сталкиваюсь с этой проблемой при обновлении с 1.9.4.1 до 1.9.4.2. Таким образом, создание заказа администратора и проверка внешнего интерфейса теперь приводят к 500 внутренним ошибкам сервера без каких-либо зарегистрированных ошибок или показа ошибок.


Проблема оформления заказа затрагивает магазины php 7.1 и php 7.2, использующие прямую публикацию Authorize.net. Вы видите ошибку 500 с этим процессором, Paypal или другими? Мы также беспокоимся о том, чтобы отключить проверку с помощью этого обновления безопасности.
тема

1
@ themew Мне удалось исправить ошибку, переопределив модуль. Ошибка для меня была / является несовместимым кодом с PHP 5.4
Вайшал Патель

0

После применения исправления Supee-11155 у меня возникла проблема с сохранением шаблона транснациональной электронной почты в информационном бюллетене, после чего я изменился в

Приложение \ код \ ядро ​​\ Mage \ Adminhtml \ Контроллеры \ System \ Email \ TemplateController.php

$allowedHtmlTags = ['template_text', 'styles'];

в

$allowedHtmlTags = ['template_text', 'styles', 'variables'];

сейчас у меня нормально работает.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.