В середине июля 2023 года были обнаружены две критические уязвимости безопасности в Benno MailArchiv.
Одна проблема касается критической XSS-уязвимости (Cross Site Scripting), другая - критической XSRF-уязвимости (Cross-Site Request Forgery).

Для обеих уязвимостей безопасности были присвоены номера CVE:

  • CVE-2023-38347 (для XSS-уязвимости)
  • CVE-2023-38348 (для XSRF-уязвимости)

Решение:

Пожалуйста, обновите вашу установку Benno MailArchiv как можно скорее до последней версии! При установке пакетов benno-web (версия 2.10.2) и benno-rest (версия 2.10.1) будут обновлены оба соответствующих компонента. Обе критические уязвимости безопасности будут устранены.

Важное примечание к обновлению:

Обновление принудительно требует использования HTTPS (т.е. SSL-шифрованного http) для WebApp сразу после установки!
После обновления вход в Benno WebApp будет возможен только через HTTPS!

По-прежнему существует возможность использовать вход для HTTP (нешифрованный). Однако для этого необходимо целенаправленное включение. В этой статье в Benno Wiki описана активация Plaintext HTML Login: https://wiki.benno-mailarchiv.de/doku.php/http_plaintext_access

ВНИМАНИЕ – ВАЖНО:
Уязвимость XSS закрывается только при использовании HTTPSэффективно!
Если установка вручную переключается на вход в систему с использованием обычного текста HTML, как описано выше,уязвимость XSS остается активной, и сервер снова становится уязвимым для атаки через эту уязвимость!

Дополнительная информация о двух критических уязвимостях безопасности:

Относительно CVE-2023-38347 (Уязвимость XSS):
Веб-приложение Benno отображает электронные письма в веб-интерфейсе без фильтрации. Перед отображением HTML-кода он не проверяется на наличие вредоносного JavaScript-кода и не фильтруется.
Если в архивированном письме содержится целенаправленный вредоносный JavaScript-код и это письмо отображается пользователем в веб-приложении Benno, JavaScript-код может получить доступ к cookie сессии, прочитать его и передать информацию злоумышленнику. Злоумышленник может извлечь данные доступа к архиву почты Benno пострадавшего пользователя и получить доступ к архиву почты (если он доступен через Интернет). Кроме того, таким образом можно изменить пароль вошедшего в систему пользователя Benno WebApp. (Этот вектор атаки ограничен сроком жизни cookie сессии. Закрытие веб-браузера жертвы делает cookie сессии недействительным).
В пакете benno-web обработка cookie была изменена путем расширения режима httponly и использования безопасных cookie. Формы в benno-web были дополнены токеном CSRF. Теперь веб-сервер может определить, было ли отправлено форму легитимным пользователем через браузер или нет. С обновленной версией benno-web и benno-rest эта уязвимость XSS закрыта. Перед отображением HTML-форматированных писем JavaScript-код теперь удаляется внутри benno-rest.

Относительно CVE-2023-38348 (Уязвимость XSRF):
Уязвимость XSRF позволяет злоумышленнику, например, перенаправить администратора на подготовленную страницу и заставить его изменить пароль или другие настройки, которые затем могут попасть в руки злоумышленника. Злоумышленники, действующие как "человек посередине", имеют возможность получить данные доступа и другие характеристики, установленные администратором через веб-приложение.
В пакете benno-web теперь используется токен CSRF. При входе пользователя benno-web создает такой токен CSRF. Он управляется в сессии и истекает после окончания сессии. benno-web добавляет этот токен CSRF к каждой веб-форме (как скрытый тег), которая вызывает изменения в базе данных при отправке (например, изменение пароля, настройка пользователя и т. д.). Когда администратор отправляет изменения, этот токен отправляется вместе с запросом и проверяется на соответствие токену, выданному в сессии. Атаки "человек посередине" будут эффективно предотвращены в будущем.
С обновленной версией benno-web и benno-rest эта уязвимость будет закрыта.