CVE-2026-31805

HIGH CVSS 3.1: 8,2 EPSS 0.10%
Обновлено 24 марта 2026
Discourse
Параметр Значение
CVSS 8,2 (HIGH)
Уязвимые версии 2026.1.0 — 2026.2.1
Устранено в версии 2026.1.2
Тип уязвимости CWE-863 (Неправильная авторизация), CWE-20 (Неправильная проверка ввода)
Поставщик Discourse
Публичный эксплойт Нет

Discourse — это дискуссионная платформа с открытым исходным кодом. До версий 2026.3.0-latest.1, 2026.2.1 и 2026.1.2 обход авторизации в плагине опроса позволял аутентифицированным пользователям голосовать, удалять голоса или переключать открытый/закрытый статус опросов, к которым у них не было доступа. Передавая post_id в виде массива (например, post_id[]=&post_id[]=), проверка авторизации разрешается для доступного сообщения, в то время как поиск опроса разрешается для опроса другого сообщения.

Это влияет на конечные точки голосования, Remove_vote и toggle_status в DiscoursePoll::PollsController. Версии 2026.3.0-latest.1, 2026.2.1 и 2026.1.2 содержат исправление.

Показать оригинальное описание (EN)

Discourse is an open-source discussion platform. Prior to versions 2026.3.0-latest.1, 2026.2.1, and 2026.1.2, an authorization bypass in the poll plugin allowed authenticated users to vote on, remove votes from, or toggle the open/closed status of polls they did not have access to. By passing post_id as an array (e.g. post_id[]=&post_id[]=), the authorization check resolves to the accessible post while the poll lookup resolves to a different post's poll. This affects the vote, remove_vote, and toggle_status endpoints in DiscoursePoll::PollsController. Versions 2026.3.0-latest.1, 2026.2.1, and 2026.1.2 contain a patch.

Характеристики атаки

Способ атаки
По сети
Атака возможна удалённо
Сложность
Низкая
Легко эксплуатировать
Нужны права
Не требуются
Права не нужны
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Низкое
Частичная утечка данных
Целостность
Высокое
Полная модификация данных
Доступность
Нет
Нет нарушения работы

Строка CVSS v3.1

Уязвимые продукты 3

Конфигурация От (включительно) До (исключительно)
Discourse Discourse
cpe:2.3:a:discourse:discourse:*:*:*:*:*:*:*:*
2026.1.0 2026.1.2
Discourse Discourse
cpe:2.3:a:discourse:discourse:*:*:*:*:*:*:*:*
2026.2.0 2026.2.1
Discourse Discourse
cpe:2.3:a:discourse:discourse:2026.3.0:*:*:*:latest:*:*:*