Как проверить, на какие модули распространяется исправление безопасности SUPEE-6788


71

27 октября 2015 года Magento выпустила исправление безопасности SUPEE-6788. Согласно техническим деталям , 4 исправленных APPSEC требуют доработки в локальных и общественных модулях:

  • APPSEC-1034, адресация в обход пользовательского URL администратора (по умолчанию отключена)
  • APPSEC-1063, решение для возможного внедрения SQL
  • APPSEC-1057, метод обработки шаблона позволяет получить доступ к личной информации
  • APPSEC-1079, решение потенциального эксплойта с типом файла пользовательских опций

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

Я пришел к следующему частичному решению:

  • APPSEC-1034: поиск <use>admin</use>в файле config.xml всех локальных модулей и модулей сообщества. Я думаю, что это должно перечислить все модули, затронутые этой проблемой.
  • APPSEC-1063: поиск addFieldToFilter('(и addFieldToFilter('`во всех файлах PHP локальных и общественных модулей. Это неполно, поскольку переменные также могут быть использованы.
  • APPSEC-1057: найдите {{config path=и {{block type=во всех файлах PHP локальных и общественных модулей и отфильтруйте все элементы из белого списка. Это неполно, поскольку не содержит никаких шаблонных переменных, добавленных администраторами.
  • APPSEC-1079: понятия не имею.

Существует также список расширений , уязвимых для APPSEC-1034 и APPSEC-1063, составленный Питером Яапом Блакмиром.


Я не знаю, как связаться с @PeterJaapBlaakmeer, но у меня есть расширение, которое необходимо добавить в список: FreeLunchLabs ConstantContact для решения проблемы с URL-адресом администратора
Дэвид Уилкинс

6
кто придумал некоторые из этих решений? Вдруг появится тип блока и белый список переменных? Обновление Magento всегда было болезненным, но для Magento это хорошая работа, чтобы сделать его еще более болезненным.
Агоп

6
Хех, Magento, подарок, который продолжает дарить. Я только что закончил обновление ВСЕХ модулей для совместимости 1.9.2.1. Разработчики модулей ставок просто прыгают от радости или кричат ​​о холмах.
Fiasco Labs

3
в этот момент патч отложен на следующую неделю - отложите выпуск патча безопасности до начала следующей недели и измените патч так, чтобы изменения в маршрутизации администратора были отключены по умолчанию. Это означает, что исправление будет включать исправление, но оно будет отключено при установке. Новая дата выпуска и изменения патча дадут вам дополнительное время для обновления вашего кода и предоставят продавцам гибкость для включения этой части патча после обновления его расширений и настроек для работы с ним.
FireBear

Ответы:


55

SUPEE-6788 выпущен и изменения маршрутизации администратора отключены по умолчанию. Это означает, что исправление включает исправление, но оно будет отключено при установке. Это даст вам дополнительное время для обновления вашего кода и предоставит продавцам гибкость для включения этой части патча после того, как его расширения и настройки будут обновлены для работы с ним.

Для включения возможности маршрутизации администратора для расширений после установки перейдите в Admin -> Advanced -> Admin -> Security.

Патчи для Magento CE 1.4-1.6 задерживаются и должны появиться примерно через неделю!

SUPEE-6788 Список ресурсов


Можем ли мы документировать, что в целом нужно изменить, чтобы какие-либо модули «не починить», чтобы эти модули можно было вручную исправить для работы с 6788? Например, «удалить X из всех addFieldToFilterвызовов».
Тайлер В.

1
Патч был выпущен. Пожалуйста, обновите свой ответ.
7

@FireBear Я уже применял патчи Magento в прошлом много раз. Но у меня есть сомнения по поводу SUPEE-6788. Нужно ли применять его, как другие патчи, и позже я могу включить возможность маршрутизации администратора в админ-панели Magento или только во время установки, я должен позаботиться. Пожалуйста, предложите.
Мукеш

2
@Muk да, вы можете установить его как другие исправления, но нужно помнить о сломанных расширениях, если вы используете некоторые расширения из списка - вам нужно исправить их вручную или дождаться обновления от разработчиков, пока вы не сможете включить - Возможность маршрутизации администратора для расширений
FireBear

@FireBear Не могли бы вы оставить свой отзыв на community.magento.com/t5/Version-Upgrades/… (до и после в пользовательском модуле)
Мукеш

21

Наряду с другими комментариями об обнаружении конфликтов, мы в ParadoxLabs создали скрипт для отслеживания всего, на что влияют APPSEC-1034 (контроллеры администратора) и APPSEC-1057 (белый список). Он также попытается исправить любые плохие контроллеры, так как это довольно точное и инвазивное изменение.

Он не охватывает APPSEC-1063 (внедрение SQL) или APPSEC-1079 (пользовательские параметры), но было бы здорово, если бы это было возможно. Не уверен, как обнаружить их с какой-либо точностью. Мы открыты для участия.

https://github.com/rhoerr/supee-6788-toolbox


3
это выглядит действительно полезным, хорошая работа!
Пай

fixWhitelists добавляет блоки в белые списки, но, похоже, не делает то же самое для переменных - пожалуйста, не могли бы вы подтвердить?
Zigojacko

1
@zigojacko Это покрывает оба.
Райан Херр

Да, понял это, попробовав. Отличная работа, супер работа от ParadoxLabs :)
zigojacko

Уважение к ParadoxLabs. Этот инструмент экономит большое количество работы.
DarkCowboy

5

Этот сценарий php может быть полезен при идентификации кода Magento, на который влияет предложенный патч SUPEE-6788 .

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

Установите скрипт с

wget https://raw.githubusercontent.com/gaiterjones/magento-appsec-file-check/master/magento_appsec_file_check.php

отредактируйте путь к вашей установке Magento

$_magentoPath='/home/www/magento/';

бегать

php magento_appsec_file_check.php

Затронутые файлы будут отображены:

*** Magento security file check ***
[1] APPSEC-1034, addressing bypassing custom admin URL
2 effected files :
<use>admin</use> found in  app/code/community/Itabs/Debit/etc/config.xml
<use>admin</use> found in  app/code/core/Mage/Adminhtml/etc/config.xml


[2] APPSEC-1063, addressing possible SQL injection
2 effected files :
collection->addFieldToFilter(' found in  app/code/community/Itabs/Debit/Model/Export/Abstract.php
collection->addFieldToFilter(' found in  app/code/community/Itabs/Debit/controllers/Adminhtml/OrderController.php
collection->addFieldToFilter(' not found.
collection->addFieldToFilter('\` not found.
collection->addFieldToFilter('\` not found.


[3] APPSEC-1057, template processing method allows access to private information
{{config path= not found.
{{block type= not found.


***********************************

Сценарий использует grep для поиска файлов Magento на предмет наличия кода, который может нарушить обратную совместимость с настройками или расширениями при использовании SUPEE-6788.


4

Уже есть большой список доступных со всеми расширениями, которые будут ломаться с SUPEE-6788

Более подробная информация здесь: https://docs.google.com/spreadsheets/d/1LHJL6D6xm3vD349DJsDF88FBI_6PZvx_u3FioC_1-rg/edit#gid=0


Мне действительно любопытно узнать, как этот список был собран.
mam08ixo

3
Это был краудсорсинг; Первоначальный источник: docs.google.com/spreadsheets/d/…
Герман Слатман,

Удалите список со страницы, приведенной выше, и укажите
Аад Матейссен,

1
Есть ли контакт, чтобы сообщить об обновленных версиях? Я вижу там как минимум 2-3 модуля, которые уже были обновлены.
versedi

-1

Список разрешенных переменных, которые можно обработать с помощью фильтра содержимого, больше, чем было показано в PDF:

+ trans_email/ident_support/name
+ trans_email/ident_support/email
web/unsecure/base_url
web/secure/base_url
trans_email/ident_general/name
+ trans_email/ident_general/email
trans_email/ident_sales/name
trans_email/ident_sales/email
trans_email/ident_custom1/name
trans_email/ident_custom1/email
trans_email/ident_custom2/name
trans_email/ident_custom2/email
general/store_information/name
general/store_information/phone
general/store_information/address

(Я добавил +ранее переменные, которые не были описаны в PDF)

Разрешенные блоки, которые могут быть обработаны через фильтр содержимого:

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