Discourse — дискуссионная платформа с открытым исходным кодом. До версий 2025.12.2, 2026.1.1 и 2026.2.0, когда параметр сайта patreon_webhook_secret пуст, злоумышленник может подделать действительные подписи веб-перехватчика, вычислив HMAC-MD5 с пустой строкой в качестве ключа. Поскольку тело запроса известно отправителю, злоумышленник может создать соответствующую подпись и отправить произвольные полезные данные веб-перехватчика.
Это позволяет несанкционированно создавать, изменять или удалять данные залога Patreon и запускать синхронизацию между патронами и группами. Эта уязвимость исправлена в версиях 2025.12.2, 2026.1.1 и 2026.2.0. Исправление отклоняет запросы веб-перехватчика, если секрет веб-перехватчика не настроен, что предотвращает подделку подписи с пустым ключом.
В качестве обходного пути настройте для параметра сайта `patreon_webhook_secret` строгое, непустое секретное значение. Если секрет непустой, злоумышленник не сможет подделать действительные подписи, не зная секрета.
Показать оригинальное описание (EN)
Discourse is an open source discussion platform. Prior to versions 2025.12.2, 2026.1.1, and 2026.2.0, when the `patreon_webhook_secret` site setting is blank, an attacker can forge valid webhook signatures by computing an HMAC-MD5 with an empty string as the key. Since the request body is known to the sender, the attacker can produce a matching signature and send arbitrary webhook payloads. This allows unauthorized creation, modification, or deletion of Patreon pledge data and triggering patron-to-group synchronization. This vulnerability is patched in versions 2025.12.2, 2026.1.1, and 2026.2.0. The fix rejects webhook requests when the webhook secret is not configured, preventing signature forgery with an empty key. As a workaround, configure the `patreon_webhook_secret` site setting with a strong, non-empty secret value. When the secret is non-empty, an attacker cannot forge valid signatures without knowing the secret.
Характеристики атаки
Последствия
Строка CVSS v3.1