CVE Explorer
CVE-2026-31805
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 t
Known exploited
Not asserted
Disputed
No
Stale source
No
Conflicts
1
Preserved source conflicts
No provider value was silently selected as the winner.
cwe · 2 assertions
{"cweId":"CWE-20","description":"CWE-20: Improper Input Validation","lang":"en","type":"CWE"}
- cve_program_cvelist_v5cweurn:baitaphish:normalized-source-record:v2:f9ab4dd19c61befa635e3a7a640fd190f7074d232125644797b1d1a95c3b970f · sha256:362f8d4064c352f8… · /containers/cna/problemTypes/1/descriptions/0
{"cweId":"CWE-863","description":"CWE-863: Incorrect Authorization","lang":"en","type":"CWE"}
- cve_program_cvelist_v5cweurn:baitaphish:normalized-source-record:v2:f9ab4dd19c61befa635e3a7a640fd190f7074d232125644797b1d1a95c3b970f · sha256:362f8d4064c352f8… · /containers/cna/problemTypes/0/descriptions/0
Affected products and versions
1 source assertion{"product":"discourse","vendor":"discourse","versions":[{"status":"affected","version":">= 2026.1.0-latest, < 2026.1.2"},{"status":"affected","version":">= 2026.2.0-latest, < 2026.2.1"},{"status":"affected","version":"= 2026.3.0-latest.1"}]}
- cve_program_cvelist_v5affectedurn:baitaphish:normalized-source-record:v2:f9ab4dd19c61befa635e3a7a640fd190f7074d232125644797b1d1a95c3b970f · sha256:362f8d4064c352f8… · /containers/cna/affected/0
Provider-owned CVSS observations
1 source assertion{"metric":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":5.3,"baseSeverity":"MEDIUM","confidentialityImpact":"LOW","integrityImpact":"NONE","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","version":"3.1"},"metric_type":"cvssV3_1"}
- cve_program_cvelist_v5cvssurn:baitaphish:normalized-source-record:v2:f9ab4dd19c61befa635e3a7a640fd190f7074d232125644797b1d1a95c3b970f · sha256:362f8d4064c352f8… · /containers/cna/metrics/0/cvssV3_1
CWE assertions
2 source assertions{"cweId":"CWE-20","description":"CWE-20: Improper Input Validation","lang":"en","type":"CWE"}
- cve_program_cvelist_v5cweurn:baitaphish:normalized-source-record:v2:f9ab4dd19c61befa635e3a7a640fd190f7074d232125644797b1d1a95c3b970f · sha256:362f8d4064c352f8… · /containers/cna/problemTypes/1/descriptions/0
{"cweId":"CWE-863","description":"CWE-863: Incorrect Authorization","lang":"en","type":"CWE"}
- cve_program_cvelist_v5cweurn:baitaphish:normalized-source-record:v2:f9ab4dd19c61befa635e3a7a640fd190f7074d232125644797b1d1a95c3b970f · sha256:362f8d4064c352f8… · /containers/cna/problemTypes/0/descriptions/0
Source references
2 source assertions{"name":"https://github.com/discourse/discourse/commit/1a6b3cdd8939053f485a60a6ea004a40878392c4","tags":["x_refsource_MISC"],"url":"https://github.com/discourse/discourse/commit/1a6b3cdd8939053f485a60a6ea004a40878392c4"}
- cve_program_cvelist_v5referenceurn:baitaphish:normalized-source-record:v2:f9ab4dd19c61befa635e3a7a640fd190f7074d232125644797b1d1a95c3b970f · sha256:362f8d4064c352f8… · /containers/cna/references/1
{"name":"https://github.com/discourse/discourse/security/advisories/GHSA-fgxm-prjv-g823","tags":["x_refsource_CONFIRM"],"url":"https://github.com/discourse/discourse/security/advisories/GHSA-fgxm-prjv-g823"}
- cve_program_cvelist_v5referenceurn:baitaphish:normalized-source-record:v2:f9ab4dd19c61befa635e3a7a640fd190f7074d232125644797b1d1a95c3b970f · sha256:362f8d4064c352f8… · /containers/cna/references/0
Attribution and limitations
- CVE Program CVEList V5: Reproduce the MITRE copyright designation and CVE license in copies. Source →
Provider severity values are preserved separately. Baitaphish does not convert them into a risk rating, infer affected products, or treat EPSS as observed exploitation.