В Redmine обнаружили несколько уязвимостей. Часть из них касается OAuth, протокола авторизации с ограниченными правами. Если токен выдан с узкой областью, он действует шире, чем разрешено. Затронуты администраторы и пользователи, которые ещё не установили исправления на своих серверах.
Обход областей OAuth-токенов при проверке прав
Бюллетень безопасности Redmine security_advisories от 2 ноября 2026 года описывает несколько уязвимостей. При этом исправления уже вышли. CVSS - шкала оценки серьёзности уязвимостей. Числовой балл в бюллетене не приводится, как и сведений об эксплуатации в реальных атаках. Даты первой и последней версии этого документа совпадают.
Основная уязвимость связана с проверкой областей OAuth-токена. Область задаёт набор действий, которые разрешены токену. Redmine может проигнорировать это ограничение при проверке прав. В результате токен получает доступ к лишним операциям. Для атаки нужен действующий токен, а отдельная уязвимость позволяет обойти области при создании проектов.
Кроме того, области OAuth нужны, чтобы ограничить приложение, которому выдали токен. Если проверка игнорирует область, приложение может выполнить больше действий, чем разрешил владелец токена. Для организации это значит, что утечка токена даёт более широкий доступ. При этом сама утечка не требуется: достаточно, чтобы у злоумышленника был действующий токен.
Также проверка областей нужна и при создании проектов. Если приложение с токеном может создавать проекты, оно получает больше прав, чем предполагал владелец. При этом администратор Redmine может не заметить лишнюю операцию. Поэтому после патча стоит пересмотреть выданные токены.
В уведомлении #44625 описан обход области при проверке прав. Однако вендор относит его к высокому уровню. Уведомление #44644 касается обхода областей при создании проектов. Этот обход отмечен как умеренный. Эти уязвимости затрагивают выпуски начиная с 6.1.0.
Исправления вышли в Redmine 7.0.3, 6.1.6 и 6.0.12. Уязвимы выпуски 7.0.x до 7.0.3, 6.1.x до 6.1.6 и версии старше 6.0.12. Вендор предлагает обратиться к бюллетеню безопасности за патчами. Обходных мер в бюллетене не приводится. Зато после патча проверка прав снова учитывает области токена.
Отражённый XSS в форме правки вложений
Отражённый XSS - это внедрение скрипта в страницу, которую открывает другой пользователь. Уязвимость связана с адресом возврата, страницей, куда Redmine возвращает пользователя после действия. Поэтому злоумышленник может подставить ссылку, которая уведёт пользователя на другой сайт, если тот её откроет. Ещё одна уязвимость низкого уровня обходит проверку адреса возврата. Браузер открывает такую ссылку на другом хосте.
Скрипт выполняется в браузере пользователя. В результате злоумышленник может получить доступ к данным страницы. Для этого ему нужно убедить пользователя открыть ссылку.
Уведомление #44682 описывает отражённый XSS. Он затрагивает выпуски начиная с 3.0.0. Уведомление #44683 относится к проверке адреса возврата. Эта уязвимость затрагивает все предыдущие выпуски. Зато после патча адрес возврата проходит более строгую проверку, и подмена хоста не срабатывает.
ReDoS в разборе аргументов вики-макросов
ReDoS - отказ в обслуживании из-за неэффективной проверки регулярным выражением, а вики-макрос - команда для вставки блока в страницу. Уязвимость проявляется при разборе аргументов таких макросов. Специально составленный аргумент заставляет Redmine тратить много ресурсов. В результате сервис может стать медленнее или недоступным для других пользователей. Сведений о нужных учётных данных в бюллетене нет.
Отказ в обслуживании затрагивает доступность Redmine. Если сервис перестаёт отвечать, пользователи не могут открыть проекты и задачи. При этом исправление устраняет причину нагрузки.
Уведомление #44657 описывает ReDoS. Вендор относит его к высокому уровню. Уязвимость затрагивает выпуски начиная с 6.0.0. Зато после патча разбор аргументов не вызывает избыточной нагрузки.