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.
CVE-2026-26207 is a vulnerability in Discourse's policy plugin that allows authenticated users to interact with policies on posts they cannot access, enabling unauthorized policy modifications and post ID enumeration. The flaw stems from missing access control checks in the PolicyController, affecting versions prior to 2025.12.2, 2026.1.1, and 2026.2.0.
تسمح هذه الثغرة للمستخدمين المصرحين بالوصول إلى سياسات المنشورات في الفئات الخاصة والرسائل الخاصة التي لا يملكون صلاحيات للعرض. يمكن لأعضاء مجموعات السياسة قبول أو رفض السياسات على محتوى محظور، كما يمكن لأي مستخدم مصرح بتعداد معرفات المنشورات من خلال رسائل الخطأ المختلفة.
هذا الثغرة في مكون السياسة في Discourse تسمح للمستخدمين المصرحين بالتفاعل مع السياسات على المنشورات التي لا يمكنهم الوصول إليها. يؤدي النقص في فحوصات التحكم في الوصول إلى تعديل السياسات غير المصرح به وكشف معرفات المنشورات.
Update Discourse to versions 2025.12.2, 2026.1.1, or 2026.2.0 or later immediately. As an interim measure, disable the discourse-policy plugin by setting policy_enabled = false in your Discourse configuration. Verify that all policy-related functionality is disabled and monitor access logs for suspicious policy interactions.
قم بتحديث Discourse إلى الإصدارات 2025.12.2 أو 2026.1.1 أو 2026.2.0 أو أحدث فوراً. كإجراء مؤقت، قم بتعطيل مكون discourse-policy بتعيين policy_enabled = false. تحقق من سجلات الوصول للكشف عن أي تفاعلات سياسية مريبة.