Як перевірити, на які модулі впливає патч безпеки 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-адреси адміністратора
David Wilkins

6
хто придумав деякі з цих рішень? Раптом з'явиться тип блоку та білий список змінних? Модернізація Magento завжди була болем, але хороша робота Magento за те, що вона ще більше заподіяла біль.
вперед

6
Хе, Мадженто, дар, який продовжує давати. Я щойно закінчив оновлення ВСІХ модулів на сумісність 1.9.2.1. Розробники модулів ставок просто стрибають від радості або бігають криками за пагорбами.
Лабораторії Фіаско

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

Відповіді:


55

SUPEE-6788 випущені та зміни маршрутизації адміністратора вимкнено за замовчуванням. Це означає, що патч включає виправлення, але він буде відключений при встановленні. Це дасть вам додатковий час на оновлення свого коду і надасть торговцям гнучкість увімкнути цю частину виправлення, як тільки їх розширення та налаштування будуть оновлені для роботи з ним.

Щоб увімкнути можливість маршрутизації адміністратора для розширень після встановлення шляху, перейдіть до Адміністратора -> Додатково -> Адміністратора -> Безпека.

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

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


Будь-які модулі "не виправлять", чи можемо ми документувати, що взагалі потрібно змінити, щоб ці модулі можна було вручну зафіксувати для роботи з 6788? Наприклад, "видалити X із усіх addFieldToFilterдзвінків".
Тайлер В.

1
Патч випущений. Будь ласка, оновіть свою відповідь.
оч.

@FireBear Я вже багато разів застосовував патчі Magento. Але я маю сумніви щодо SUPEE-6788. Чи потрібно застосовувати його, як і інші патчі, і пізніше я можу включити можливість маршрутизації адміністратора на панелі адміністратора Magento або під час встановлення лише час, коли я повинен дбати. Будь ласка, підкажіть.
Mukesh

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

@FireBear Не могли б ви надіслати свої відгуки про community.magento.com/t5/Version-Upgrades/… (До і після в спеціальному модулі)
Mukesh

21

Згідно з іншими коментарями щодо виявлення конфліктів, ми в ParadoxLabs створили сценарій для відстеження всього, на що впливають APPSEC-1034 (контролери адміністратора) та APPSEC-1057 (білий список). Він також намагатиметься виправити будь-які погані контролери, оскільки це досить точна та інвазивна зміна.

Він не охоплює APPSEC-1063 (ін'єкція SQL) або APPSEC-1079 (спеціальні параметри), але було б чудово, якби можна. Не знаєте, як їх виявити з будь-якою точністю. Ми відкриті для внесків.

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


3
це виглядає дійсно корисно, гарна робота!
paj

fixWhitelists додає блоки до білих списків, але, схоже, не робить те ж саме для змінних - будь ласка, можете підтвердити?
zigojacko

1
@zigojacko Він охоплює обидва.
Ryan Hoerr

Так, з'ясував це, відправивши його. Відмінна робота, супер робота від 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.