Настало время для другого дня исправления, вышла SUPEE-7405 для Magento 1.x, а список исправлений длинный: https://magento.com/security/patches/supee-7405
После опыта работы с последними патчами я должен снова спросить: каковы возможные проблемы при применении патча и что я должен учитывать?
Многие проблемы XSS были исправлены снова, поэтому я ожидаю исправления пользовательских тем вручную. Что-нибудь еще? Есть ли обратные несовместимые изменения?
security
patches
magento-1
supee-7405
Фабиан Шменглер
источник
источник
Ответы:
Обновление от 23 февраля 2016 : патч был обновлен до версии 1.1, в которой исправлен ряд важных проблем, перечисленных в этом посте. Вот список:
После изучения патча, я нашел соответствующие / интересные вещи, которые я обнаружил (примечание: этот список был составлен путем анализа патча для CE 1.9.2.0-1.9.2.2, возможно, есть еще патчи, затрагивающие более старые версии Magento) :
Использование[]
вместо этогоarray()
в этом патче делает его обратно несовместимым с PHP <5.4 (см. Известные проблемы ниже)Mage_Admin_Model_Observer
Mage_Adminhtml_IndexController
Mage_Adminhtml_IndexController
getDeleteUrl
оMage_Checkout_Block_Cart_Item_Renderer
и подтверждено вdeleteAction
оMage_Checkout_CartController
.controller_action_postdispatch_checkout_onepage_saveOrder
становятсяcontroller_action_postdispatch_checkout_onepage_saveorder
). Это не влияет на конфигурацию ваших локальных наблюдателей . Более подробная информация здесь: https://twitter.com/foomanNZ/status/689924329065164800Mage_Core_Model_File_Validator_Image
System => Configuration =>Advanced > System => Escape CSV Fields
admin_user_validate
подMage_Admin_Model_User
Mage_Authorizenet_Helper_Admin
), используемый для получения URL-адреса заказа успеха.Zend_Xml_Security
. Его целью является сканирование строки XML на предмет возможных атак XXE и XEE. Однако я не нашел ссылки на него в других измененных файлах.Известные проблемы после исправления:
Я постараюсь сохранить этот список как можно более актуальным.
Прежде чем начинать новую проблему / вопрос, убедитесь, что вы применили все предыдущие исправления, так как кажется, что многие проблемы возникают из-за отсутствующих исправлений.
Другое дело: если вы изменили файлы ядра, применение патча может закончиться неудачей. Если у вас есть
Hunk # failed at
ошибка для определенного файла, и вы на 100% уверены, что применили все предыдущие исправления, убедитесь, что у вас есть оригинальный файл из вашей версии Magento, проверив зеркало: https://github.com / OpenMage / Magento-зеркало /Страница просмотра заказа администратора пуста / не работает => Связана с несовместимостью PHP <5.4. => Исправление можно найти здесь: https://magento.stackexchange.com/a/98237/2380 / Я создал отчет об ошибке: https://www.magentocommerce.com/bug-tracking/issue/index/ id / 1266 (титры: @ Moonman67).URL SOAP API/index.php/api/v2_soap/index/?wsdl=1
выдает ошибку 500 => Я разработал хакерское исправление для этого, которое можно найти здесь: https://magento.stackexchange.com/a/98790/2380 / Я также создал отчет об ошибке для вот этот: https://www.magentocommerce.com/bug-tracking/issue/index/id/1265 (кредиты: @ Moonman67)Проблемы с разрешениями на загрузку файловapp/code/core/Mage/Core/Model/Config.php
(возможно, только EE): SUPEE 7405 Enterprise Edition Неустранимая ошибка Неопределенная константа класса 'AREA_ADMINHTMLMage_Core_Helper_Abstract::escapeHtml()
на 1.4.0.1 : ошибка после установки патча 7405 на Magento 1.4.0.1_singleton/Mage_Core_Model_Domainpolicy
уже существует в Magento 1.7: ошибка исправления безопасности SUPEE-7405Проблемы с применением исправления на 1.7.0.2 : Исправление безопасности SUPEE-7405Проблемы применения патча на 1.8.1 : supee 7405 Hunk # 2 СБОЙ на 472. Magento 1.8.1Очередь электронной почты прервана после исправления : Magento 1.9.2.3. Очередь электронной почты не работаетСписок затронутых файлов
Его можно найти на этой странице здесь: https://magento.stackexchange.com/a/98232/2380 (кредиты @MagenX)
Только EE
Относительно исправления 7616:
Возможная проблема при применении 7616 перед применением 7405 : SUPEE 7405 - Hunk # 2 Failed at 43Хорошие ресурсы о патчах Magento
Не стесняйтесь, дайте мне знать, если я что-то упустил.
источник
Одна проблема, которую я заметил, заключается в том, что если ваш сайт использует версию ниже PHP 5.4, патч не совместим.
В классе
Mage_Adminhtml_Helper_Sales
около строки № 124. Код:Мне нужно было расширить это, чтобы:
Другая ошибка, с которой я столкнулся, была связана с установленными мной файлами cookie. После того, как я очистил свои куки, все страницы загружались нормально.
Пример ошибки:
Я не уверен, сталкивался ли кто-нибудь еще с этими проблемами, но надеюсь, что это помогает!
источник
Вот проблема, которую я обнаружил при исправлении Magento CE с SUPEE-7405. Он заменяет строку:
с участием:
в файле
lib/Varien/File/Uploader.php
Это привело к тому, что мои изображения перестали отображаться в бэкэнде, поскольку разрешение на доступ к этому файлу на самом деле должно быть 644. Существует ли какая-либо причина, по которой это было установлено на 640?
источник
chown USERNAME:nobody -R public_html
find ./public_html -type d -exec chmod g+s {} \;
При подаче заявки на Magento 1.7.0.0 она пытается удалить комментарий
app/design/adminhtml/default/default/template/authorizenet/directpost/iframe.phtml
-/* @var $_helper Mage_Authorizenet_Helper_Data */
1.7.0.0 - https://raw.githubusercontent.com/OpenMage/magento-mirror/1.7.0.0/app/design/adminhtml/default/default/template/authorizenet/directpost/iframe.phtml
это не было добавлено до 1.7.0.1 https://raw.githubusercontent.com/OpenMage/magento-mirror/1.7.0.1/app/design/adminhtml/default/default/template/authorizenet/directpost/iframe.phtml
источник
эти файлы пропатчены, вы можете увидеть любое возможное влияние:
template: admin шаблоны в основном пропатчены.
ядро / ЛИЭС:
================================================== ======================= ps просто чтобы сохранить все вместе, мы создали несколько "несложных" мультипатчей для исправления многих серверов с несколькими установками magento. multipatch-7405.sh
источник
Вот мой основной план тестирования:
источник
Пожалуйста, имейте в виду проблему с пропущенными сессиями, недавно обнаруженную и исправленную (?) Колином Молленхуром .
https://gist.github.com/colinmollenhour/5066a3220881a9c0c2dd42fa1593cbff/revisions
источник
Если вы обновили Magento EE 1.14.2.x до Magento EE 1.14.2.3 вместо применения исправления, а также применили исправление поддержки SUPEE-5984 ранее, вам придется повторно применить его повторно, поскольку оно не включено в выпуск .
Это был патч, который исправил поврежденный индексатор: ошибка индекса после обновления до EE 1.14.2.0: таблица catalog_product_entity_tmp_indexer не существует
источник
По состоянию на 23 февраля 2016 года Magento выпустила патч для патча для решения многих из этих проблем: https://magento.com/security/patches/supee-7405
Вам необходимо применить SUPEE_7405_v1, а затем SUPEE_7405_v1.1 по порядку.
источник
Снимок экрана для страницы сведений о заказе администратора, если вы видите проблему такого типа, пожалуйста, следуйте инструкциям ниже, она работает для меня!
Решение
источник
Всякий раз, когда мы устанавливаем патч для одного из наших клиентов, мы используем следующий контрольный список:
app/etc/applied.patches.list
файле)Я думаю, это действительно все, что нужно сделать. Патчи предназначены для быстрой и легкой установки. 9 из 10 раз они установятся отлично, а в остальное время у нас есть резервные копии. Пока вы не возитесь с основными файлами, все должно быть в порядке.
источник
app/etc/applied.patches.list
здесь затронуты файлы для Magento EE
источник
После применения SUPEE-7405 на Magento 1.14.1.0 я получил ошибку:
Проблема была вызвана повторно объявленным методом _validateControllerInstance в
После удаления второго (того же) объявления функции проблема была решена.
источник
Я получил следующую ошибку после установки патча SUPEE-7405 при попытке войти в систему с правами администратора.
потому что у меня был этот файл переопределен в локальном пуле кода, у которого нет
sendHeadersAndExit
метода, созданного этим патчем.\app\code\local\Mage\Core\Controller\Response\Http.php
Следующий метод не существует. (Это новый метод, добавленный в основной файл)После добавления этого к переопределенному файлу проблема исчезла.
источник
Одна из проблем, с которой я столкнулся при использовании SUPEE-7405, - это ошибки загрузки изображений.
Поэтому я проверяю изменения в этом файле: lib / Varien / File / Uploader.php
Затем я обнаружил два способа преодоления этого:
Опция 1:
Я выполняю ручное изменение файла lib / Varien / File / Uploader.php, чтобы настроить разрешения 0640/0750.
Вариант 2: поскольку Magento ожидает, что веб-сервер будет владельцем файлов сайта:
http://devdocs.magento.com/guides/m1x/install/installer-privileges_after.html#privs-after
Другой способ решения проблемы - сделать веб-сервер владельцем файлов.
chown -R web-сервер-имя-пользователя magento / root / path
Имя пользователя веб-сервера обычно www-data или apache.
источник