-
### Чужая версия по расписанию (GHSA-mfr4-5hr5-jqvg) В Pimcore есть планировщик: редактор назначает дату, когда опубликуется конкретная версия документа или объекта.
-
Задача хранит ID версии и в назначенный момент публикует её.
-
Как сказано в advisory, Pimcore не проверял, что версия принадлежит тому же элементу.
-
Это классический IDOR (insecure direct object reference): система берёт объект по присланному идентификатору и не проверяет, имеет ли пользователь на него права.
-
Пользователь с правом планировать публикации у одного товара мог подставить чужой ID и перезаписать произвольный элемент. В каталоге на сотни тысяч SKU такую подмену, скорее всего, заметят только после жалобы покупателя или отчёта маркетплейса. ###
-
Песочница Twig с дырой в allowlist (GHSA-f5q9-27jc-vxm9) Twig - шаблонизатор Pimcore.
-
Его sandbox ограничивает набор функций, фильтров и методов в шаблонах, которые пишет не разработчик.
-
Ошибка была в логике списка разрешений: правило пропускало любое имя, которое начиналось с разрешённого префикса.
-
Через этот обход шаблон мог читать и удалять произвольные файлы на сервере.
-
На сервере PIM лежат конфиги с паролями к базе, ключи интеграций с 1С и маркетплейсами и медиафайлы каталога. ### Ссылка, которая исполняет код (GHSA-h78x-47qg-qjmq)
-
Поле типа Link в DataObject отдаёт готовый HTML через `Data\Link::getHtml`.
-
Атрибут `href` и текст ссылки выводились без экранирования и очистки, поэтому ссылка вида `javascript:` попадала в страницу без изменений.
-
Это хранимый XSS: злоумышленник вводит значение один раз, и код выполняется у любого, кто откроет страницу, в том числе у администраторов с полными правами.
-
Помимо безопасности, релиз исправляет баг в модели данных (#19522): локализованные связи в object bricks с одинаковыми именами полей смешивались между блоками. В мультиязычном каталоге этот баг незаметно портит переводы.