Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessRegister account via public signup endpoint
-
DeliveryInject primary_group_id of whisper-allowed group
-
ExploitServer saves primary_group_id without membership check
-
Executionwhisperer? evaluates true
-
ImpactRead/post staff-only whisper content
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V8 - Authorization Least privilege enforcement
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the target Discourse site to have the whispers_allowed_groups site setting configured - a non-default, opt-in staff feature; without it, injecting primary_group_id grants no whisper privilege and the bug is inert. The attacker must complete the signup flow while submitting primary_group_id (and optionally flair_group_id) pointing at an allowed group; the fix's regression test shows this was accepted on the unauthenticated signup request, so no pre-existing account or elevated role is needed. Limiting factors: impact is confined to whisper (staff-visible) content confidentiality with only minor integrity effect and no availability impact, and any site without whispers_allowed_groups is unaffected regardless of other configuration. |
| Impact | The signals are largely consistent and point to a real but moderate-priority issue rather than an emergency. The input CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N, 7.1 High) reflects network-reachable, low-complexity exploitation with confidentiality-heavy impact. SSVC agrees on 'partial' technical impact and 'automatable: yes' (the signup request is scriptable), but marks Exploitation as 'none', matching the low EPSS (0.31%) and the absence of any KEV listing or known public exploit code. The key caveat the raw CVSS omits is a configuration gate: the flaw only has security impact where whispers_allowed_groups is set, so the realistically-affected population is a subset of all Discourse installs. There is also a metrics tension - the patch's regression tests demonstrate the injection succeeding on the unauthenticated signup request, which argues the true privilege requirement is closer to PR:N than the PR:L given in the input. |
| Exploit ScenarioDerived | On a Discourse forum that has enabled group-based whispers, an attacker scripts the public registration endpoint and includes primary_group_id set to the ID of a whisper-allowed group in the signup payload. Once the account is created, the attacker is treated as a whisperer and can read (and post) staff-only whisper content that should be hidden from ordinary members. No public exploit is identified at time of analysis, but the request is simple and automatable per SSVC. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv2 – Jul 14, 2026
Privilege escalation in Discourse (the open-source discussion platform) lets a newly registered user obtain whisper-group ('whisperer') privileges by supplying a primary_group_id during the signup flow, without ever being a legitimate member of that group. Exploitation only matters on sites that have configured whispers_allowed_groups, and success grants read access to staff-only whisper posts (a confidentiality-focused impact). EPSS is low (0.31%, 23rd percentile) and there is no public exploit identified at time of analysis, but the fix commits and GitHub advisory GHSA-vmwq-jvxx-jwfx confirm the flaw and its remediation.
Earlier versions of this analysis (1)
Privilege escalation in Discourse (versions prior to 2026.6.0, 2026.5.1, 2026.4.2, and 2026.1.5) lets a newly self-registered user assign themselves a primary_group_id during the signup flow and inherit whisper-group privileges without ever being a legitimate member of that group, but only on instances that have whispers_allowed_groups configured. Because whispers are private staff/group-only messages, an attacker gains unauthorized read access to confidential moderator discussions. There is no public exploit identified at time of analysis and it is not listed in CISA KEV, though the GitHub Security Advisory (GHSA-vmwq-jvxx-jwfx) and four fix commits are public, lowering the bar to reverse-engineer the flaw.
RemediationAI
Vendor-released patch: upgrade to Discourse 2026.6.0, 2026.5.1, 2026.4.2, or 2026.1.5 (whichever matches your release branch), available at https://github.com/discourse/discourse/releases (tags v2026.6.0, v2026.5.1, v2026.4.2, v2026.1.5). The fix strips primary_group_id and flair_group_id from non-admin/non-API signup parameters and stops treating primary_group_id alone as a source of whisper privileges. As an interim compensating control where you cannot patch immediately, temporarily clear or unset the whispers_allowed_groups site setting to neutralize the impact (trade-off: this disables group-based whisper access for legitimate staff), and audit recently created accounts for unexpected primary_group_id/flair_group_id values pointing at whisper-allowed groups, resetting any that lack genuine membership. Details are in advisory GHSA-vmwq-jvxx-jwfx and commit 012796ac28c85b30aa233c5ef042fc66efff8126.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 3 packages in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Discourse is a Ruby on Rails discussion/forum platform. This is a CWE-269 Improper Privilege Management issue spanning the account-creation path (UsersController#create) and the Roleable concern. Signup parameters were passed through with only :timezone stripped, letting an attacker inject :primary_group_id (and :flair_group_id). Separately, Roleable#whisperer? treated any user whose primary_group_id was contained in SiteSetting.whispers_allowed_groups_map as a whisperer, so pointing primary_group_id at an allowed group synthesized the privilege with no real membership. The CPE data (cpe:2.3:a:discourse:discourse) confirms the affected product is the Discourse application itself, with the fix landing in tagged release 2026.6.0.
Know when Discourse gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N
Patch tests show injection succeeds on unauthenticated signup, so PR:N and AC:L; whisper read access drives C:H with minor I:L and no availability impact.
Primary rating from Vendor (github).
CVSS VectorNVD
Lifecycle Timeline
3DescriptionNVD
Discourse is an open-source discussion platform. Prior to 2026.6.0, 2026.5.1, 2026.4.2, and 2026.1.5, the signup flow could allow newly registered users to set primary_group_id and gain whisper-group privileges without legitimate group membership on sites with whispers_allowed_groups configured. This issue is fixed in versions 2026.6.0, 2026.5.1, 2026.4.2, and 2026.1.5.
Executive ViewAI
Discourse installations with whisper-group functionality are vulnerable to CVE-2026-44787, a privilege escalation flaw allowing newly registered users unauthorized access to staff-only confidential discussions. No public exploit identified at time of analysis. Affected organizations risk unauthorized disclosure of internal communications, decisions, and sensitive operational guidance to users with minimal account tenure.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.
Discourse versions prior to 3.5.0.beta6 contain a reflected cross-site scripting (XSS) vulnerability in social login fun
discourse-bbcode is the official BBCode plugin for Discourse. Rated critical severity (CVSS 9.8), this vulnerability is
Unauthorized information disclosure in Discourse discussion platform versions prior to 2026.3.0-latest.1, 2026.2.1, and
Discourse is an open source platform for community discussion. Rated high severity (CVSS 8.2), this vulnerability is rem
Discourse versions prior to 2025.12.2, 2026.1.1, and 2026.2.0 contain an insecure direct object reference (IDOR) in the
In Discourse 2.7.0 through beta1, a rate-limit bypass leads to a bypass of the 2FA requirement for certain forms. Rated
Unauthenticated attackers can submit forged webhook payloads to multiple email provider integrations in Discourse versio
Discourse is an open-source discussion platform. Rated medium severity (CVSS 6.5), this vulnerability is remotely exploi
Discourse is an open source platform for community discussion. Rated medium severity (CVSS 5.9), this vulnerability is r
Discourse versions prior to 3.4.4 (stable), 3.5.0.beta5 (beta), and 3.5.0.beta6-dev (tests-passed) contain a critical vu
Discourse is an open source platform for community discussion. Rated critical severity (CVSS 9.8), this vulnerability is
Discourse Patreon enables syncronization between Discourse Groups and Patreon rewards. Rated critical severity (CVSS 9.8
EUVD-2026-42735
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB