Уязвимости хранимого межсайтового скриптинга в Zimbra Collaboration позволяют выполнить посторонний код в браузере получателя письма. Хранимый межсайтовый скриптинг означает, что вредоносная строка сохраняется в самом сообщении и срабатывает при его открытии в веб-интерфейсе. Затронуты сборки Zimbra Collaboration до версии 10.1.21, включая классический интерфейс и веб-клиент по умолчанию.
Хранимый межсайтовый скриптинг в заголовках писем Zimbra
Письмо в формате MIME (многоцелевые расширения интернет-почты) состоит из служебных заголовков и блоков содержимого. Заголовки описывают отправителя, тему и вложения. Клиент обязан очищать их значения перед выводом на страницу; если очистки нет, текст заголовка становится частью страницы и браузер толкует его как разметку.
Первый сценарий связан с заголовком Content-Location - служебным полем вложения, которое указывает, откуда брать содержимое файла. Значение этого поля не очищают, поэтому злоумышленник подставляет в него ссылку, исполняющую код вместо открытия файла. Срабатывает она при нажатии на имя вложения. Второй сценарий строится на заголовке From, где указан отправитель: его значение попадает в разметку ответа без достаточной очистки.
Код из заголовка From срабатывает, когда получатель открывает сообщение в классическом интерфейсе Zimbra, нажимает кнопку ответа и набирает текст в режиме HTML при выключенном показе заголовков ответа. Классический интерфейс - упрощённый режим веб-клиента, который часть организаций оставляет включённым. Аутентификация злоумышленнику не нужна, достаточно отправить письмо на адрес жертвы. Участие пользователя требуется в любом сценарии: надо открыть сообщение и нажать на элемент интерфейса.
Атака идёт по сети, локальный доступ не нужен. Оценку CVSS (общая система оценки уязвимостей, шкала от 0 до 10) в записи не приводят, уровень тяжести тоже не указан. Записи CVE-2026-66911 и CVE-2026-66912 относят проблемы к классу ошибок очистки ввода при построении веб-страницы. Хранимый вариант скриптинга неудобен для жертвы тем, что код не нужно внедрять повторно: он лежит в письме и ждёт открытия.
Результат у сценариев одинаковый. Чужой скрипт получает доступ к сессии браузера, может читать переписку и выполнять действия от имени пользователя. Сессия - это набор данных, по которым сервер узнаёт уже вошедшего человека, поэтому кража сессии равносильна входу под чужой учётной записью.
Исправление вышло в версии 10.1.21, так указано в описании записи. Отдельное поле исправленной версии в записи CVE не заполнено, поэтому номер полезно сверить с публикацией Zimbra. Сборки начиная с 10.1.21 отмечены как незатронутые. Обходных мер CERT-PL не приводит: остаются обновление и отслеживание уведомления.
Сведений об эксплуатации в реальных атаках записи не содержат. Публикация описания сама по себе не означает, что уязвимость уже применяют.
Администраторам почтовых серверов Zimbra нужно обновиться до 10.1.21 и проверить, какой интерфейс выдан пользователям. Если классический режим не нужен, его отключение сокращает поверхность атаки, хотя полноценной заменой исправлению такая мера не служит. Пользователям стоит напомнить, что нажатие на имя вложения в подозрительном письме запускает проверку кода, а не открытие файла.
Значимость определяется тем, что защита сводится к обновлению. Обходных мер вендор не предложил, а письмо с вредоносным заголовком внешне не отличается от обычного, поэтому фильтрация на стороне почтового шлюза здесь мало помогает.