CVE-2026-31805
Last modified
CVE-2026-31805 is a high-severity vulnerability rated 8.2/10 on the CVSS scale. 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. EPSS estimates a 0.21% chance of exploitation in the next 30 days.
Description
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.
Metrics
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:N
Weakness Enumeration
Affected Software
| Vendor | Product | Versions |
|---|---|---|
| Discourse | Discourse | >= 2026.1.0, < 2026.1.2 |
| Discourse | Discourse | >= 2026.2.0, < 2026.2.1 |
| Discourse | Discourse | 2026.3.0 |
References
Timeline
- Published
- Last Modified
- Status
- Analyzed
Frequently Asked Questions
What is CVE-2026-31805?
How severe is CVE-2026-31805?
How do I fix CVE-2026-31805?
Are you affected by CVE-2026-31805?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
