Вышли релизы безопасности Joomla 6.1.4 и Joomla 5.4.9
Проект Joomla! рад сообщить о выходе Joomla 6.1.4 и Joomla 5.4.9. Это релизы безопасности и исправления ошибок для серий 5.x и 6.x.
Данные обновления продолжают поддерживать высокие стандарты Joomla в области доступного веб-дизайна, инклюзивности и простоты, делая платформу еще более мощной и защищенной.
Исправления безопасности
- [20260901] - Core - Межсайтовый скриптинг (XSS) в методе HTMLHelper::link
- [20260902] - Core - Несанкционированное создание учетной записи пользователя через контроллер profile.save
- [20260903] - Core - Некорректная проверка ACL для эндпоинтов уровней доступа веб-сервисов
- [20260904] - Core - Межсайтовый скриптинг (XSS) в базовых макетах вывода медиафайлов
- [20260905] - Core - Произвольное удаление каталогов через действие очистки кэша
- [20260906] - Core - Некорректная проверка ACL в представлении сравнения версий истории материалов
- [20260907] - Core - Некорректная проверка ACL при выводе элементов по тегам
- [20260908] - Core - Межсайтовый скриптинг (XSS) в HTML-шаблонах писем
- [20260909] - Core - Векторы SSRF-атак в различных базовых расширениях ядра
- [20260910] - Core - Некорректная проверка ACL при изменении этапов рабочего процесса (workflow)
- [20260911] - Core - Межсайтовый скриптинг (XSS) в макете ссылки панели инструментов
- [20260912] - Core - Межсайтовый скриптинг (XSS) в списке модулей
- [20260913] - Core - Некорректная проверка ACL для различных задач редактирования в веб-сервисах
- [20260914] - Core - Обход многофакторной аутентификации (MFA) через cookie-файлы rememberme
- [20260915] - Core - Обход XSS-фильтра в InputFilter из-за несоответствия декодирования HTML5-сущностей
- [20260916] - Core - Обход XSS-фильтра в InputFilter через пробельные символы в HTML data URI
Исправления ошибок и улучшения
Следующие исправления включены в Joomla! 6.1.4 и Joomla! 5.4.9 (все исправления для 5.4 также перенесены в ветку 6.1):
- #46860: [5.4] Обеспечение абсолютных URL-адресов изображения логотипа в Schema.org JSON-LD (@sathwikre)
- #47213: [5.4] Исправление значения null для даты в поле publish_up (@chmst)
- #47461: [5.4] Исправление операции unset для переменной поля (@ramalama)
- #47495: [5.4] Учет атрибутов 'option' и 'title' в XML альтернативных макетов (@Divya3215)
- #47638: [5.4] Исправление ошибки с параметром URL в пункте меню тегов (@CSGoat0)
- #47935: [5.4] [AI] [com_media] Разрешение редактору изображений пересохранять файл с исходным именем, содержащим не-ASCII символы (@thoni56)
- #47966: [5.4] Отображение кнопки «Подробнее» в mod_articles при обрезке текста параметром introtext_limit (@rish106-hub)
- #48036: [5.4] Исправление: закрытие/скрытие выпадающего списка до его преждевременного отключения (@hiteshm0)
- #48047: [5.4] Экранирование символов формул CSV при экспорте статистики баннеров (@arib06)
- #48056: [5.4] Использование функции hash_equals для проверки кода TOTP (@arib06)
- #48120: [5.4] Исправление ошибки ограничения open_basedir в настраиваемом поле imagelist (@bhuvan-somisetty)
- #48130: [5.4] Защита вызова функции php_uname (@alikon)
- #48144: [5.4] Исправление индексатора умного поиска при работе с PostgreSQL (@alikon)
- #48208: [5.4] Исправление потери связей категорий при снятии перевода с публикации (@krishnagandhicode)
- #48221: [5.4] Предотвращение дублирования записей в #__ucm_content при каждом сохранении материала с тегами (@hiteshm0)
- #48233: [5.4] Бэкпорт флага безопасности для обновлений (@laoneo)
- #48234: [5.4] Отображение кнопки фильтра в списке материалов категории (@drmenzelit)
- #48238: [5.4] [AI] Исправление некорректных значений jobLocationType при выводе микроразметки JobPosting (@Otto-Deviant1904)
- #48248: [5.4] Исправление ошибки уникальности алиаса тегов (@hiteshm0)
- #48252: [6.1] Добавление получения языка в файле edit_container.php (@brianteeman)
- #48274: [5.4] Исправление ошибок в менеджере шаблонов (@joomdonation)
- #48280: [5.4] Исправление предупреждения при обращении к файлам, не являющимся исходным кодом, в менеджере шаблонов (@joomdonation)
- #48286: [5.4] Навигация с клавиатуры в календаре [a11y] (@brianteeman)
- #48304: [6.1] Удаление проверки CSRF-токена из POWcaptcha (@HLeithner)
- #48320: [5.4] Предотвращение повторного выбора элементов, вызывающего ошибки 404 при удалении в медиаменеджере (@hiteshm0)
- #48327: [5.4] Исправление подсчета переопределений шаблона (@brianteeman)
- #48328: [5.4] Исправление дублирования опций в полях (@chmst)
- #48339: [6.1] Исправление ошибки фильтрации по месяцам в списке категории (@heelc29)
- #48347: [5.4] Приведение результата preg_match к логическому типу (boolean) в методе isImage (@Bakual)
- #48362: [5.4] Исправление подписи полного изображения (fulltext caption) в устаревшем модуле newsflash (@chmst)
- #48368: [6.1] Исправление работы InstallerScriptTrait::allowDowngrades (@n3t)
- #48386: [5.4] Исправление ошибки распаковки архива в менеджере шаблонов (@joomdonation)
- #48434: [5.4] [AI] Исправление непереведенных кнопок в конструкторе TinyMCE (@tecpromotion)
- #48450: [5.4] Исправление ошибок в ComponentlayoutField (@joomdonation)
- #48468: [5.4] Исправление сброса селектора контекста рабочих процессов (workflows) — повторная реализация #48079 для 5.4 (@richard67)
Полный список Pull Requests для Joomla! 6.1.4 на GitHub доступен по ссылке: GitHub Milestone 168.
Полный список Pull Requests для Joomla! 5.4.9 на GitHub доступен по ссылке: GitHub Milestone 167.
Где можно скачать Joomla?
Новая установка
Инструкция по установке и системные требования
Обновление
Хотите ознакомиться с Joomla 6 без необходимости ее установки? Есть решение - попробуйте Joomla 6 на launch.joomla.org.
Как я могу обновить свой сайт до Joomla 6?
Хорошие новости: переход с Joomla 5.4.x на 6.x — это обновление, а не миграция.
Почему?
Две основные причины:
1. Расширения Joomla 5 (J5), в которых удалены все устаревшие элементы кода и используется актуальный код Joomla, будут работать в Joomla 6 (J6).
2. Большинство остальных расширений будет работать при включённом новом плагине обратной совместимости — Behaviour 6 - Backward Compatibility Plugin.
Полную информацию можно найти здесь.
Примечание: мы советуем сначала протестировать обновление на копии вашего рабочего сайта.
Как вы можете помочь развитию Joomla?
Существует множество способов, с помощью которых вы можете принять активное участие в развитии Joomla. Неважно, являетесь ли вы разработчиком, интегратором или просто пользователем Joomla. Вы можете присоединиться к сообществу на Mattermost и просмотреть команды, к которым можно присоединиться, или, если вы готовы, вы можете сразу же вступить в команду Joomla! Bug Squad.
Joomla! Bug Squad и CMS Release Team являются одними из самых активных команд в процессе разработки CMS и всегда ищут людей (не только разработчиков), которые могут помочь в сортировке сообщений об ошибках, написании патчей и тестировании решений. Это отличный способ расширить свои знания о кодовой базе Joomla, а также познакомиться с новыми людьми со всего мира.
Где можно найти документацию разработчика по Joomla 6?
Существует довольно много руководств, которые помогут вам в работе с Joomla 5/6. На страницах manual.joomla.org вы можете найти такие руководства как: создание плагина или модуля для Joomla 6, соглашения о пространствах имен, подготовленные операторы, использование новых классов веб-ассетов и многое другое.
Мы призываем разработчиков помочь в написании документации по Joomla 6 на сайте manual.joomla.org, чтобы помочь пользователям и другим разработчикам расширений.
Благодарность волонтерам
Joomla создается силами добровольцев по всему миру. Огромное спасибо всем, кто внес свой вклад в подготовку этих релизов! Если вы хотите помочь проекту, присоединяйтесь к командам Bug Squad или Documentation через сообщество в Mattermost.