{"id":"CVE-2026-26973","state":"PUBLISHED","title":"Discourse doesn't scope reviewable notes to user-visible reviewables","description":"Discourse is an open source discussion platform. Versions prior to 2025.12.2, 2026.1.1, and 2026.2.0 have an IDOR (Insecure Direct Object Reference) in `ReviewableNotesController`. When `enable_category_group_moderation` is enabled, a user belonging to a  category moderation group can create or delete their own notes on **any** reviewable in the system, including reviewables in categories they do not moderate. The controller used an unscoped `Reviewable.find` and the `ensure_can_see` guard only checked whether the user could access the review queue in general, not whether they could access the specific reviewable. Only instances with `enable_category_group_moderation` enabled are affected. Staff users (admins/moderators) are not impacted as they already have access to all reviewables. The issue is patched in versions 2025.12.2, 2026.1.1, and 2026.2.0 by scoping the reviewable lookup through `Reviewable.viewable_by(current_user)`. As a workaround, disable the `enable_category_group_moderation` site setting. This removes the attack surface as only staff users will have access to the review queue.","publishedAt":"2026-02-26T19:19:18.139Z","updatedAt":"2026-02-26T20:41:30.698Z","severity":{"score":4.3,"label":"Medium","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N","source":"GitHub_M"},"assigner":"GitHub_M","products":["discourse discourse"],"affected":[{"vendor":"discourse","product":"discourse","versions":[{"version":"< 2025.12.2","status":"affected"},{"version":">= 2026.1.0-latest, < 2026.1.1","status":"affected"},{"version":">= 2026.2.0-latest, < 2026.2.0","status":"affected"}]}],"references":["https://github.com/discourse/discourse/security/advisories/GHSA-c587-qx78-vhmx"],"weaknesses":["CWE-863"],"ingestedAt":"2026-10-29T20:11:21.040Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/26xxx/CVE-2026-26973.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-26973","state":"PUBLISHED","datePublished":"2026-02-26T19:19:18.139Z","dateUpdated":"2026-02-26T20:41:30.698Z","assignerShortName":"GitHub_M","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateReserved":"2026-02-16T22:20:28.612Z"},"containers":{"cna":{"title":"Discourse doesn't scope reviewable notes to user-visible reviewables","descriptions":[{"lang":"en","value":"Discourse is an open source discussion platform. Versions prior to 2025.12.2, 2026.1.1, and 2026.2.0 have an IDOR (Insecure Direct Object Reference) in `ReviewableNotesController`. When `enable_category_group_moderation` is enabled, a user belonging to a  category moderation group can create or delete their own notes on **any** reviewable in the system, including reviewables in categories they do not moderate. The controller used an unscoped `Reviewable.find` and the `ensure_can_see` guard only checked whether the user could access the review queue in general, not whether they could access the specific reviewable. Only instances with `enable_category_group_moderation` enabled are affected. Staff users (admins/moderators) are not impacted as they already have access to all reviewables. The issue is patched in versions 2025.12.2, 2026.1.1, and 2026.2.0 by scoping the reviewable lookup through `Reviewable.viewable_by(current_user)`. As a workaround, disable the `enable_category_group_moderation` site setting. This removes the attack surface as only staff users will have access to the review queue."}],"affected":[{"vendor":"discourse","product":"discourse","versions":[{"version":"< 2025.12.2","status":"affected"},{"version":">= 2026.1.0-latest, < 2026.1.1","status":"affected"},{"version":">= 2026.2.0-latest, < 2026.2.0","status":"affected"}]}],"references":[{"url":"https://github.com/discourse/discourse/security/advisories/GHSA-c587-qx78-vhmx","name":"https://github.com/discourse/discourse/security/advisories/GHSA-c587-qx78-vhmx","tags":["x_refsource_CONFIRM"]}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":4.3,"baseSeverity":"MEDIUM","confidentialityImpact":"NONE","integrityImpact":"LOW","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-863","lang":"en","description":"CWE-863: Incorrect Authorization","type":"CWE"}]}],"providerMetadata":{"shortName":"GitHub_M","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateUpdated":"2026-02-26T19:20:35.711Z"},"source":{"advisory":"GHSA-c587-qx78-vhmx","discovery":"UNKNOWN"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-02-26T20:40:10.083850Z","id":"CVE-2026-26973","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-02-26T20:41:30.698Z"}}]}}}