Затронутые версии MISP проверяют настраиваемую пользователем домашнюю страницу, проверяя только то, начинается ли указанный путь с /. Этой проверки недостаточно, поскольку URL-адреса, относящиеся к протоколу, такие как //attacker.example, также начинаются с /, но в браузерах разрешаются во внешний источник. Значение уязвимой домашней страницы может быть сохранено как настройка пользователя и позже использовано логикой маршрутизации после входа в систему.
Коммит явно идентифицирует //attacker.example как полезную нагрузку, которая прошла проверку и была отправлена в заголовок Location после входа в систему. Исправление представляет общий InternalRedirectValidator, который отклоняет URL-адреса, содержащие хост, схему, информацию о пользователе, небезопасное начало // или /\, неверные URL-адреса и управляющие символы. Он также повторно проверяет настройки домашней страницы при чтении, поэтому устаревшие или внутренне записанные небезопасные значения не могут обойти новую проверку времени хранения.
Затронутая версия: ≤2.5.45
Показать оригинальное описание (EN)
Affected versions of MISP validate the user-configurable homepage by checking only whether the supplied path begins with /. That check is insufficient because protocol-relative URLs such as //attacker.example also begin with / but resolve to an external origin in browsers. The vulnerable homepage value can be stored as a user setting and later used by the post-login routing logic. The commit explicitly identifies //attacker.example as a payload that passed validation and was emitted to the Location header after login. The fix introduces a shared InternalRedirectValidator that rejects URLs containing a host, scheme, userinfo, unsafe leading // or /\, malformed URLs, and control characters. It also revalidates homepage settings on read so legacy or internally written unsafe values cannot bypass the new storage-time validation. Version affected: ≤2.5.45
Характеристики атаки
Последствия
Строка CVSS v4.0