CVE-2026-26207

Discourse is an open source discussion platform. Prior to versions 2025.12.2, 2026.1.1, and 2026.2.0, `discourse-policy` plugin allows any authenticated user to interact with policies on posts they do not have permission to view. The `PolicyController` loads posts by ID without verifying the current user's access, enabling policy group members to accept/unaccept policies on posts in private categories or PMs they cannot see and any authenticated user to enumerate which post IDs have policies attached via differentiated error responses (information disclosure). The issue is patched in versions 2025.12.2, 2026.1.1, and 2026.2.0 by adding a `guardian.can_see?(@post)` check in the `set_post` before_action, ensuring post visibility is verified before any policy action is processed. As a workaround, disabling the discourse-policy plugin (`policy_enabled = false`) eliminates the vulnerability. There is no other workaround without upgrading.
Configurations

Configuration 1 (hide)

OR cpe:2.3:a:discourse:discourse:*:*:*:*:*:*:*:*
cpe:2.3:a:discourse:discourse:*:*:*:*:*:*:*:*
cpe:2.3:a:discourse:discourse:2026.2.0:*:*:*:latest:*:*:*

History

02 Mar 2026, 21:51

Type Values Removed Values Added
First Time Discourse
Discourse discourse
CPE cpe:2.3:a:discourse:discourse:*:*:*:*:*:*:*:*
cpe:2.3:a:discourse:discourse:2026.2.0:*:*:*:latest:*:*:*
References () https://github.com/discourse/discourse/security/advisories/GHSA-jr4h-w6p5-w55r - () https://github.com/discourse/discourse/security/advisories/GHSA-jr4h-w6p5-w55r - Vendor Advisory
Summary
  • (es) Discourse es una plataforma de discusión de código abierto. Antes de las versiones 2025.12.2, 2026.1.1 y 2026.2.0, el plugin 'discourse-policy' permite a cualquier usuario autenticado interactuar con políticas en publicaciones que no tienen permiso para ver. El 'PolicyController' carga publicaciones por ID sin verificar el acceso del usuario actual, permitiendo a los miembros del grupo de políticas aceptar/rechazar políticas en publicaciones en categorías privadas o mensajes privados (PMs) que no pueden ver y a cualquier usuario autenticado enumerar qué IDs de publicaciones tienen políticas adjuntas a través de respuestas de error diferenciadas (revelación de información). El problema se ha parcheado en las versiones 2025.12.2, 2026.1.1 y 2026.2.0 al añadir una verificación 'guardian.can_see?(@post)' en la acción previa 'set_post', asegurando que la visibilidad de la publicación se verifica antes de que se procese cualquier acción de política. Como solución alternativa, deshabilitar el plugin discourse-policy ('policy_enabled = false') elimina la vulnerabilidad. No hay otra solución alternativa sin actualizar.

26 Feb 2026, 16:24

Type Values Removed Values Added
New CVE

Information

Published : 2026-02-26 16:24

Updated : 2026-03-02 21:51


NVD link : CVE-2026-26207

Mitre link : CVE-2026-26207

CVE.ORG link : CVE-2026-26207


JSON object : View

Products Affected

discourse

  • discourse
CWE
CWE-862

Missing Authorization