Niklan.net
362 subscribers
110 photos
13 videos
5 files
387 links
Веб-разработка и Drupal.

Блог: http://niklan.net
Download Telegram
Поддержку Drupal 7 продлили до 1 ноября 2023.
Сегодня состоялся патч релиз Drupal 9.3.7.

Достаточно много мелких исправлений и улучшений для патч релиза. Экспериментальный модуль CKEditor 5 получил приличное количество улучшений.
11 марта состоялся патч релиз 9.2.14.

В этом спонтанном патч релизе обновили все JavaScript зависимости ядра, а также портировали совсем немного изменений из других веток. Пишут что якобы у некоторых библиотек вышли обновления безопасности, но они не влияют на Drupal. 🤷‍♂️

По всей видимости просто забыли сделать релиз 4 марта, так как именно тогда обновили зависимости и было окно для релиза, а за день до этого вышел 9.3.7. 🥴
Вчера вышли обновления безопасности Drupal 9.3.8 и Drupal 9.2.15 исправляющие SA-CORE-2022-005.

В этих обновлениях обновлён CKEditor в котором закрыли две уязвимости, они могут быть использованы для межсайтового скриптинга и DoS атаки на пользователя.

Проблеме подвержены все сайты где активен CKEditor и недоверенные пользователи могут добавлять какой-либо контент на сайт, даже если у них нет прямого доступа к редактору. Такие проекты желательно обновить.

Если же у вас активен редактор, но нет никакого стороннего содержимого, в принципе, это не должно вас касаться.

UPD: Это касается только CKEditor 4, CKEditor 5 по всей видимости не подвержен данным проблемам, он не обновлялся.
Вчера вышли обновления безопасности Drupal 9.3.9 и Drupal 9.2.17 исправляющие SA-CORE-2022-006.

В этих релизах обновлена библиотека Guzzle, так как для неё вышло обновление безопасности. Guzzle оценили уязвимость как «минимальный риск». Тем не менее, не ясно как это может сказаться как на ядре, так и сторонних, собственных модулях которые используют библиотеку для сторонних запросов.

Если вы используете Guzzle на проекте, или какие-либо модули, которые отсылают сторонние запросы (например интеграции), будет не лишним обновиться для подстраховки.
Сегодня состоялся патч-релиз Drupal 9.3.10

… а за ним прилетели 9.3.11 и 9.2.17

В 9.3.11 и 9.2.7 обновили composer/composer с версии 2.1.12 и 2.2.12. 🤷‍♂️

Основной релиз, конечно, это 9.3.10, в котором достаточно изменений для патч-релиза. Особенно много улучшений, исправлений и изменений поступило для экспериментального модуля CKEditor 5.
Вчера вышли обновления безопасности для Drupal.

SA-CORE-2022-008 (9.3.12, 9.2.18): Исправили неполадку, из-за которой можно было отправить форму с недопустимыми значениями (в обход валидации), либо с изменёнными данными. Это касается тех форм, в которых используется элемент '#type' => 'item', как и в одном из предыдущих обновлений с '#type' => 'value'. Пишут что проблема встречается редко.

SA-CORE-2022-009 (9.3.12): Исправили проблему с доступом к ревизиям, которая появилась только в 9.3.x. До исправления, пользователи, у которых есть права доступа на просмотр ревизий, могли смотреть те ревизии, в которых используются сущности, доступа к которым у них нет.

В этот раз пропустили SA-CORE-2022-007. Наблюдается какая-то нездоровая тенденция косячить с релизами. 😁
⌨️ Решил неспешно заняться своим блогом. Пока что с технической стороны. Там можно встретить код и функционал аж с версии на Drupal 7. Надо навести порядок, понять что там нужно, а что нет, запилить новые свистоперделки и отпилить старые.

До контента тоже доберусь, но не раньше чем содержимое начнёт собираться из GitHub репозитория как у Druki. Я уже лет 5 пишу все материалы в Markdown файле, а уже затем переношу руками в параграфы, ерунда какая-то. 😁 Опыт Druki подтвердил мне, что это must-have функционал для блога, по крайней мере для моего подхода работы с контентом.

Для того чтобы не было совсем уж скучно, я открыл исходный код своего блога. Исключительно в образовательных целях. Код вы можете заимствовать, но не собирайте на базе репозитория реальные сайты. Обратной совместимости нет и не будет.
Состоялся релиз Drupal 9.3.13.

Немного улучшений для CKEditor 5. Также исправлена неполадка для плагинов @QueueWorker, из-за которой элемент очереди в кроне блокировался лишь на 1 секунду. В остальном, ничего примечательного.
Вчера состоялись релизы безопасности исправляющие SA-CORE-2022-010

В релизах Drupal 9.3.14 и 9.2.20 обновили Guzzle, для которого вчера вышло обновление безопасности.

Если у вас на сайте есть модули, которые при помощи Guzzle делают запросы к внешним ресурсам с использованием cookie, то вам следует обновиться. По умолчанию эта опция (передача кук) отключена и ядро не подвержено данной проблеме.
Вчера состоялся патч релиз Drupal 9.3.15

Из интересного:

— Очередная порция улучшений для модуля CKEditor 5.

— Увеличена производительность страниц при использовании модуля Contextual Links примерно на 6%. Достигнуто это путём небольших изменений в contextual_preprocess().
11 июня (суббота) состоялись релизы безопасности исправляющие SA-CORE-2022-011

В релизах Drupal 9.3.16 и 9.2.21 обновили Guzzle, для которого вышло обновление исправляющее две проблемы безопасности: при запросе, ответ которого перенаправляет с HTTPS на HTTP, не очищались заголовки Authorization (первая) и Cookie (вторая).

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

Изменений много, ощутимая их часть направлена на депрекацию тех или иных API, возможностей, модулей и тем.

Из интересного (субъективно) могу отметить:

— Вернули поддержку генерации стартеркит тем и возможности объявления темы как заготовки для будущей темы путём starterkit: true. Также была добавлена возможность стартовой теме предоставлять свои дополнительные обработчики после генерации новой темы через реализацию StarterKitInterface.

— Рекомендуемая версия PHP увеличена до 8.1. Минимальная не изменилась — 7.3.0.

— В качестве preprocess функций для тем хуков теперь можно использовать callable. Это значит что для препроцесса можно использовать классы.

— Темы оформления теперь могут реализовывать HOOK_post_update_NAME() и HOOK_removed_post_updates().

— Для форматтеров изображений, предоставляемых ядром, добавлена опция для управления lazy аттрибутом изображения.

— Claro — новая административная тема по умолчанию (в стандартном профиле, для новых установок).

— Olivero — новая тема оформления сайта по умолчанию (в стандартном профиле, для новых установок).

— При редактировании бандлов различных сущностей, помимо вкладок «Редактирование», «Управление полями», «Управление отображением» и т.д., теперь также будет появляться вкладка «Управление разрешениями». На данной странице можно будет настроить все связанные с данной сущностью права доступа для различных ролей. (для своих сущностей нужно предоставить соответствующий хендлер)

— Добавлено новое разрешение view update notifications. При помощи данного разрешения можно указать, какие роли будут получать (исключительно на административных страницах) сообщение о новых версиях Drupal и его модулей. Ранее для этого необходимо было выключать update модуль. При обновлении на 9.4.0 это разрешение будет присвоено всем ролям у кого есть разрешение administer site configuration на момент обновления.

— Устаревшие модули теперь помечаются на странице расширений и выводят предупреждение при попытке их активации. Устаревшие темы оформления теперь не отображаются в списке тем.

— Модули объявленные устаревшими: HAL, Aggregator, Color.

И множество других изменений. 💅
Изменения в политике обновлений безопасности для Composer зависимостей ядра.

Из-за участившихся обновлений безопасности (например последние для Guzzle) для сторонних пакетов, от которых зависит ядро, приходится выпускать обновление безопасности для Drupal каждый раз, как такое обновление выходит. Эта практика прекращается для Drupal 9.4+, в котором были ослаблены ограничения для зависимостей ядра, позволяющие получать обновления патч-версий для всех зависимостей (ранее зависимости ядра были заморожены даже на уровне патч-версий). Теперь, вы не только можете самостоятельно обновить подобные зависимости (раньше нужно было ждать апдейта ядра) простым composer update, но и должны это делать для безопасности проекта.

Прошлая практика выпуска обновления ядра для аналогичных обновлений зависимостей будет выпускаться только в том случае, если этой уязвимости подвержено непосредственно ядро Drupal (последние апдейты Guzzle никак не затрагивают Drupal, при этом приходилось выпускать апдейты).

До EOL Drupal 9.3 (декабрь 2022) будет поддерживаться предыдущая практика обновлений (только для 9.3.x ветки). Для сайтов собранных из архивов (🗿) рекомендуется перейти на поддержку через Composer, в противном случае обновления зависимостей будут выходить с патч-релизами ошибок и это может растянуться на недели.

Если вы не уверены и не хотите следить за обновлениями безопасности зависимостей ядра и обновляете проект только по таким релизам, самое простое — взять за правило, обновлять все зависимости проекта в первый или третий четверг месяца. Потому что обновления для ядра выпускаются в первую среду месяца (патч-релизы) и третью среду месяца (обновления безопасности), а из-за временных различий, они у нас появляются фактически в четверг. И не важно, вышло в среду обновление для ядра или нет, вы просто освежаете зависимости проекта и поддерживаете их в тонусе.

UPD. Ещё чего вспомнил. Если ваш проект на GitHub, просто включите соответствующие настройки у проекта и GitHub сам будет оповещать о подобных обновлениях (он понимает Composer): https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning
Сегодня состоялись патч-релизы Drupal 9.4.1 и 9.3.17.

Эти релизы содержат очень мало изменений, основное — ядро теперь запрашивает guzzlehttp/psr7 версии 1.9.x вместо 1.8.x. Это необходимо для очередного обновления безопасности Guzzle.
Если пользуетесь модулем commerce_cart_api, то после обновления на Drupal 9.4.0 обязательно проверьте весь функционал который использует его REST ендпоинты. Скорее всего у вас отвалится существенная доля данных для order_item сущностей, не будет ни цены, ни количества, ни суммы и т.д. Если напоролись, пробуйте патчик.
Сегодня состоялся патч-релиз Drupal 9.4.2.

Абсолютно ничем не примечательный релиз. Разве что можно отметить создание нового раздела с добавлением в него мейнтейнеров (MAINTAINERS.txt) для Project Browser инициативы. Это такой модуль для друпала, типа маркетплейса, который показывает модули с орга и позволяет устанавливать их оттуда. (прототипы, проект)
Сегодня состоялись обновления безопасности 9.4.3 и 9.3.19.

В них исправили сразу 4 «уязвимости»:

SA-CORE-2022-012: Модуль Image мог некорректно проверять доступ к изображениям, для которых генерируюется стиль изображение, а исходник находится не в стандартном публичном хранилище (public://). Эта проблема проявляется только при условии что у вас изменена конфигурация $config['image.settings']['allow_insecure_derivatives'] на значение TRUE. По умолчанию она FALSE и её изменение недоступно через интерфейс.

SA-CORE-2022-013: Очередное исправление связанное с формами, которое могло быть использовано для изменения данных форм, не имея при этом доступа к редактированию этих данных. Формы ядра не подвержены данной проблеме.

SA-CORE-2022-014: Улучшена санитизация для загружаемых файлов. Данная проблема проявляется только на сайтах, работающих на веб-сервере Apache, а также где явно разрешена загрузка файлов с расширением htaccess (🤔).

SA-CORE-2022-015: Исправлена валидация домена используемого для oEmbed iframe предоставляемого модулем Media. В определенных случаях, iframe мог отображаться с использованием основного домена, что могло потенциально открыть возможность для XSS атак и ему подобных. Судя по всему, это требовало некорректной настройки Media.

В общем и целом, ничего страшного для большинства проектов. Но обновиться точно не помешает, так как некоторые проблемы могут вскрыться через сторонние или собственные модули.
Сегодня состоялись патч-релизы Drupal 9.3.20 и 9.4.4.

Непонятно что это было. Походу основное изменение — обновление зависимости laminas/laminas-diactoros до 2.11.1 из-за CVE-2022-31109 (Drupal скорее всего не подвержен проблеме). Эти релизы также содержат все накопленные изменения, которые должны были выйти на следующей неделе. Так, 9.4.4 содержит много мелких исправлений и улучшений в довесок к обновлению зависимости.
Состоялись патч релизы Drupal 9.4.5 и 9.3.21.

Учитывая что в пятницу уже были релизы, причём патч релизы, содержащие все основные скопившиеся изменения за месяц, не ясно зачем эти два. Чисто формальные, даже смотреть не на что. По сути только CKEditor 5 обновили с 34 до 35 версии.