Пока вовсю идёт разработка переходной джумлы 3.9 и новой версии Joomla 4,  команда разработчиков накопила ряд мелких багов и уязвимостей и решила выпустить новую версию 3.8.4.

Так как дело близится к последним релизам в ветке 3.x, то последние версии хотят допилить и дошлифовать до стабильного состояния. Часть проблем конечно останется и будет локализовано уже в минорном обновлении джумлы 4, но пока об этом рано загадывать.

На этот раз были исправлены 4 уязвимости и множество мелких багов.

Релиз безопасности и функциональности Joomla 3.8.4
Релиз безопасности и функциональности Joomla 3.8.4

Настоятельно советую всем как можно скорее обновиться до последней версии, не забывайте только сделать резервную копию перед установкой патча безопасности!

Что нового в Joomla 3.8.4?

Новая версия пытается оптимизировать работу джумлы с PHP 7.2. Как обычно, мы уделим большее внимание дырам, найденным и кочующим даже с Joomla 1.5

Все уязвимости представляют из себя малую опасность (это не значит, что не надо обновляться!) и получили низкий приоритет. Несмотря, что найдены в различных компонентах и расширениях, подавляющее большинство брешей можно классифицировать и отнести к классу межсайтового скриптинга (XSS).

Уязвимости, исправленные в джумле 3.8.4

Рассмотрим более детально найденные уязвимости:

  • CVE-2018-6380 - низкий приоритет - XSS уязвимость (межсайтовый скриптинг) - подвержены Joomla 3.0.0-3.8.3 - плохая фильтрация передаваемых данных в модуле chromes (позиции в модулях) может дать возможность осуществить атаку на систему модулей.
  • CVE-2018-6377 - низкий приоритет - XSS уязвимость (межсайтовый скриптинг) - подвержены Joomla 3.7.0-3.8.3 - уязвим компонент com_fields. Новая система кастомных полей в джумле до сих пор даёт свои сбои: неадекватная фильтрация в полях со множественным выбором (такие как радио, чекбокс, список) приводит к XSS атаке.
  • CVE-2018-6379 - низкий приоритет - XSS уязвимость (межсайтовый скриптинг) - подвержены Joomla от 1.5.0 до 3.8.3 - подвержен класс ядра URI - плохая фильтрация символов в JUri приводит к уязвимости
  • CVE-2018-6376 - низкий приоритет - SQLi уязвимость (SQL инъекция) - подвержены Joomla от 3.7.0 до 3.8.3 - отсутствие проверки типов переменных в запросе может привести к атаке в сообщении после установки (postinstall message) в шаблоне Hathor.

Уязвимости хоть и накладывают определенные ограничения на своё исполнение, однако безопасностью пренебрегать не стоит. Поэтому сразу после прочтения статьи обновите незамедлительно свои сайты!

Список багов и улучшений, устранённых в Joomla 3.8.4

  • Контактная форма теряла данные после отправки и возвращения ошибки
  • Улучшена производительность "Умного поиска" для общих слов
  • Повышена производительность в индексации компонента "Умный поиск"
  • Обновлён jQuery Autocomplete до версии 1.4.7
  • Обновлен CodeMirror до версии 5.33.0
  • Добавлено в srcset ссылки обработка пробелов и запятых
  • Правильная обработка в пользовательских полях
  • Исправлен путь для языкового файла PHPMailer
  • Отображение заголовка категории как заголовка страницы и заголовка в тегах h1-h6 при отсутствии в пункте меню категории компонента com_content
  • Исправлена работа уровня доступа в com_content
  • Различные исправления совместимости работы с PHP 7.2

Как обычно, полный список изменений можно найти на гитхабе.

Решение проблем при обновлении до джумла 3.8.4

Это уже стало закономерностью, что в новых версиях возникают какие-то проблемы при обновлении. Для быстрого и безболезненного обновления я расскажу, что стоит делать при той или иной ошибке. Проблемы с блокировкой серверов обновлений Joomla Роскомнадзором дублировать не буду.

Следующее предупреждение актуально для всех версий джумлы. Если после обновления на экране появляется следующая ошибка:

Предупреждение
Обновить кэш манифеста не удалось: Расширение в настоящее время не установлено.

То не стоит паниковать и переживать - это всего лишь информационное сообщение. Возникает оно при удалении системных расширений или шаблонов, к примеру isis, protostar и т.д. Поэтому двнный алерт можно спокойно проигнорировать.

Рассмотрим далее следующее предупреждение:

Предупреждение
JInstaller: :Install: Ошибка SQL Can't DROP 'series_2'; check that column/key exists
Обновление файлов: файл ошибок SQL Ошибка базы данных с номером 1091
Can't DROP 'series_2'; check that column/key exists
SQL =
ALTER TABLE `#__user_keys` DROP INDEX `series_2`;

Это значит, что возникли какие-то проблемы с обновлением базы данных. Поэтому после установки обновления надо перейти в компонент "Менеджер расширений: Проверка базы данных" - можно найти по ссылке /administrator/index.php?option=com_installer&view=database или в меню "Расширения -> Менеджер расширений -> База данных" и исправить базу данных (Должно появиться сообщение: Структура таблиц базы данных в актуальном состоянии). 

Также с особой осторожностью стоит обновляться мультиязычным сайтам: возможны проблемы с авторизацией как в родных модулях, так и в сторонних (ошибка в методе onUserLogin). В данном случае или ждать новую версию, или в плагине "Система - Фильтр языка" установить значение "Автоматическая смена языка" на нет.

Update 09.02.2018:

Вышел релиз Joomla 3.8.5 с исправлением багов версии 3.8.4

Откатили изменения в роутере, приводящие ко множественным проблемам, а также исправлена подсветка синтаксиса в визуальном редакторе CodeMirror

Добавить комментарий