Хорошо, кто-то должен спросить это: сегодня, 7/7/2015 был выпущен новый патч безопасности для Magento <1.9.2.
обновить ваши магазины как можно скорее!
Но что изменилось? Известны ли эксплойты о покрытых проблемах безопасности? Что хуже всего могло случиться?
И есть ли что-нибудь, что может сломаться? Как и в SUPEE-5994, где было невозможно применить исправление, если каталог загрузчика отсутствовал ...
magento-1.9
security
patches
supee-6285
Фабиан Шменглер
источник
источник
Ответы:
Как уже упоминалось, исправленные уязвимости подробно описаны на этой официальной странице (новые документы для продавцов): http://merch.docs.magento.com/ce/user_guide/Magento_Community_Edition_User_Guide.html#magento/patch-releases-2015.html.
Резюме
После исправления нескольких магазинов вот что я собрал:
Тематические патчи
Некоторые файлы тем были исправлены с добавлением экранирования для предотвращения возможных атак XSS:
checkout/cart.phtml
checkout/cart/noItems.phtml
checkout/onepage/failure.phtml
rss/order/details.phtml
wishlist/email/rss.phtml
Если ваша (-ые) тема (-ы) содержат какой-либо из этих шаблонов, или если вы внесли изменения непосредственно в
base/default
(удачи, вы облажались), то вам необходимо исправить их вручную:в шаблонах оформления заказа замените все
с
в
wishlist/email/rss.phtml
, заменитьс
В
rss/order/details.phtml
, заменитьс
права доступа
.htaccess
файлы были добавленыdownloader/Maged
иdownloader/lib
запретить прямой доступ к исходным файлам. Если вы используете nginx, вам нужно добавить эти правила для достижения того же самого ( спасибо Бен Лессани за это):Но я
downloader
все равно рекомендую исключить из развертываний действующую систему, в этом случае вам не нужно предпринимать никаких действий.Права администратора (ACL)
Если вы используете ограниченные учетные записи администратора, некоторые меню сторонних расширений могут больше не работать для них. Причина в том, что возвращаемое значение по умолчанию
Mage_Adminhtml_Controller_Action::_isAllowed()
было изменено сtrue
наMage::getSingleton('admin/session')->isAllowed('admin')
. Расширения, которые не переопределяют этот метод в своих административных контроллерах, поскольку они не используют ACL, теперь нуждаются в привилегии «ALL» .Единственное решение - это исправить патчи и добавить этот метод ко всем их контроллерам администратора:
Или если у них действительно есть ресурс ACL, определенный в
etc/adminhtml.xml
:(вы можете видеть, что патч делает то же самое для
Phoenix_Moneybookers
более старых версий Magento, таких как 1.7, где это расширение было включено)Более подробное описание этой проблемы и объяснение того, как определить отсутствующие ресурсы ACL, см. В разделе Ошибки, связанные с отказом в доступе после установки SUPEE-6285.
Возможные ошибки при применении патча
Сообщение:
Причина:
default/modern
тема была удалена из установкиРешение: добавьте
app/design/frontend/default/modern
из новой загрузки Magento (должна быть та же версия, что и ваш магазин). Вы также можете использовать это зеркало: https://github.com/firegento/magento . После успешного применения патча вы можете удалить тему снова.Сообщение
Причина:
downloader
каталог был удален из установкиРешение: добавьте
downloader
из новой загрузки Magento (должна быть та же версия, что и ваш магазин). Вы также можете использовать это зеркало: https://github.com/firegento/magento . После успешного применения патча вы можете снова удалить каталог.Сообщение: нечто похожее на
Причина: файлы сохраняются с
\r\n
(CRLF, разрыв строки Windows) или\r
(CR, разрыв строки Mac) вместо\n
(LF, разрыв строки Unix).Решение: просто преобразуйте разрывы строк, ваш текстовый редактор или IDE должны быть способны на это.
источник
_isAllowed
метод. К счастью, у нас был ACL в модуле, и никаких дополнительных действий, кроме добавления метода, не требовалось. Кроме того, я столкнулся с первым сообщением об ошибке сdefault/modern
перемещенной темой (я также нашел виновника благодаря Git). +1 за этоЧерез @ http://blog.philwinkle.com/supee-6285-broken-down/
После того, как я добавил:
Для одного из сторонних контроллеров эта административная секция снова начала "работать" ...
Так мы скоро получим еще один патч Magento? Это кажется более серьезной проблемой ...
источник
Если у вас много расширений для сообществ / локальных сетей, вы захотите обратить особое внимание на это изменение в SUPEE-6285, которое затрагивает
app/code/core/Mage/Adminhtml/Controller/Action.php
строку 666 и зависит от версии патча (это файл патча EE 1.14.0.1):На все пользовательские модули, которые не реализуют свои собственные ресурсы администратора, влияет указанное выше изменение, и в доступе будет отказано, если только у пользователя с правами администратора нет полных прав администратора.
Если вы посмотрите в другом месте патча, то увидите, что многие из включенных основных модулей были обновлены, однако это может повлиять на многие сторонние модули, поэтому обратите особое внимание на тестирование любых сторонних расширений в вашем патче сайта после проверки, чтобы проверить вы все еще можете получить к ним доступ!
источник
Похоже, что страница выпуска патча была обновлена с информацией о том, на что это влияет.
Мне еще предстоит установить на производственную площадку и протестировать
источник
Полный список измененных файлов после применения патча также доступен в
app/etc/applied.patches.list
источник
В моем случае для сторонних модулей добавление приведенного ниже кода в контроллеры adminhtml работало:
источник