> CVE-2026-31805 [MEDIUM]

« BACK_TO_HOME
PUBLISHED
2026-03-20 03:15
MODIFIED
2026-03-20 03:15
CVSS_SCORE V3
5.3
EPSS (Prob. Exploit)
0.24%
Top 84.4%
DATA SOURCES:
NVD đź”— 2026-03-20 CWE MITRE đź”— 2026-11-01 FIRST EPSS đź”— 2026-11-08 OSV đź”— 2026-11-08

> 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.

> AFFECTED_PRODUCTS

ℹ️ Aucun produit affecté n'a encore été publié par NVD pour cette CVE.

> CVSS V3 METRICS

CVSS_VECTOR
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
EXPLOITABILITY
3.9
IMPACT
1.4

> MÉTRIQUES CVSS DÉTAILLÉES

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Métrique Valeur Interprétation
AV (Vecteur d'Attaque)
Attack Vector
Network (N)
Exploit possible à distance via réseau (HTTP, API, etc.)
AC (Complexité d'Attaque)
Attack Complexity
Low (L)
Peu de conditions requises pour exploiter
PR (Privilèges Requis)
Privileges Required
None (N)
Aucune authentification requise
UI (Interaction Utilisateur)
User Interaction
None (N)
Aucune interaction utilisateur nécessaire
S (Périmètre)
Scope
Unchanged (U)
Impact reste dans le périmètre du composant compromis
C (Impact Confidentialité)
Confidentiality Impact
Low (L)
Divulgation limitée d'informations
I (Impact Intégrité)
Integrity Impact
None (N)
Aucune modification de données possible
A (Impact Disponibilité)
Availability Impact
None (N)
Aucune interruption de service

> RÉSUMÉ DES IMPACTS

Confidentialité
Low
Divulgation limitée d'informations
Intégrité
None
Aucune modification de données possible
Disponibilité
None
Aucune interruption de service

> WEAKNESSES

CWE-20 CWE-863

> CWE DETAILED DESCRIPTIONS

CWE-20: Improper Input Validation - The product receives input or data, but it does not validate or incorrectly validates that the input has the properties that are required to process the data safely and correctly. | CWE-863: Incorrect Authorization - The product performs an authorization check when an actor attempts to access a resource or perform an action, but it does not correctly perform the check.

> OSV (GOOGLE OPEN SOURCE VULNERABILITIES)

Discourse has a poll authorization bypass via post_id array parameter

AFFECTED PACKAGES:
Unknown / Unknown
10 versions affected
ALIASES:
BIT-discourse-2026-31805, GHSA-fgxm-prjv-g823

> HISTORIQUE DES MODIFICATIONS

Première apparition
20/03/2026 03:15
Source: NVD
📊 ENRICHISSEMENT 01/04/2026 06:02
CWE
Champ modifié: Description CWE
Ancienne valeur:
N/A
Nouvelle valeur:
CWE-20: Improper Input Validation - The product receives input or data, but it does not validate or incorrectly validates that the input has the properties that are required to process...
Total des modifications: 1 Dernière mise à jour: 7 months ago

> REFERENCES

https://github.com/discourse/discourse/commit/1a6b3cdd8939053f485a60a6ea004a4087...
https://github.com/discourse/discourse/security/advisories/GHSA-fgxm-prjv-g823
« BACK_TO_HOME