CVE Vulnerabilities

CVE-2025-32376

Improper Access Control

Published: Apr 30, 2025 | Modified: May 16, 2025
CVSS 3.x
4.3
MEDIUM
Source:
NVD
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
CVSS 2.x
RedHat/V2
RedHat/V3
Ubuntu
root.io logo minimus.io logo echo.ai logo

Discourse is an open-source discussion platform. Prior to versions 3.4.3 on the stable branch and 3.5.0.beta3 on the beta branch, the users limit for a DM can be bypassed, thus giving the ability to potentially create a DM with every user from a site in it. This issue has been patched in stable version 3.4.3 and beta version 3.5.0.beta3.

Weakness

The product does not restrict or incorrectly restricts access to a resource from an unauthorized actor.

Affected Software

NameVendorStart VersionEnd Version
DiscourseDiscourse*3.4.3 (excluding)
DiscourseDiscourse1.1.0-beta1 (including)1.1.0-beta1 (including)
DiscourseDiscourse1.1.0-beta2 (including)1.1.0-beta2 (including)
DiscourseDiscourse1.1.0-beta3 (including)1.1.0-beta3 (including)
DiscourseDiscourse1.1.0-beta4 (including)1.1.0-beta4 (including)
DiscourseDiscourse1.1.0-beta5 (including)1.1.0-beta5 (including)
DiscourseDiscourse1.1.0-beta6 (including)1.1.0-beta6 (including)
DiscourseDiscourse1.1.0-beta6b (including)1.1.0-beta6b (including)
DiscourseDiscourse1.1.0-beta7 (including)1.1.0-beta7 (including)
DiscourseDiscourse1.1.0-beta8 (including)1.1.0-beta8 (including)
DiscourseDiscourse1.2.0-beta1 (including)1.2.0-beta1 (including)
DiscourseDiscourse1.2.0-beta2 (including)1.2.0-beta2 (including)
DiscourseDiscourse1.2.0-beta3 (including)1.2.0-beta3 (including)
DiscourseDiscourse1.2.0-beta4 (including)1.2.0-beta4 (including)
DiscourseDiscourse1.2.0-beta5 (including)1.2.0-beta5 (including)
DiscourseDiscourse1.2.0-beta6 (including)1.2.0-beta6 (including)
DiscourseDiscourse1.2.0-beta7 (including)1.2.0-beta7 (including)
DiscourseDiscourse1.2.0-beta8 (including)1.2.0-beta8 (including)
DiscourseDiscourse1.2.0-beta9 (including)1.2.0-beta9 (including)
DiscourseDiscourse1.3.0-beta1 (including)1.3.0-beta1 (including)
DiscourseDiscourse1.3.0-beta10 (including)1.3.0-beta10 (including)
DiscourseDiscourse1.3.0-beta11 (including)1.3.0-beta11 (including)
DiscourseDiscourse1.3.0-beta2 (including)1.3.0-beta2 (including)
DiscourseDiscourse1.3.0-beta3 (including)1.3.0-beta3 (including)
DiscourseDiscourse1.3.0-beta4 (including)1.3.0-beta4 (including)
DiscourseDiscourse1.3.0-beta5 (including)1.3.0-beta5 (including)
DiscourseDiscourse1.3.0-beta6 (including)1.3.0-beta6 (including)
DiscourseDiscourse1.3.0-beta7 (including)1.3.0-beta7 (including)
DiscourseDiscourse1.3.0-beta8 (including)1.3.0-beta8 (including)
DiscourseDiscourse1.3.0-beta9 (including)1.3.0-beta9 (including)
DiscourseDiscourse1.4.0-beta1 (including)1.4.0-beta1 (including)
DiscourseDiscourse1.4.0-beta10 (including)1.4.0-beta10 (including)
DiscourseDiscourse1.4.0-beta11 (including)1.4.0-beta11 (including)
DiscourseDiscourse1.4.0-beta12 (including)1.4.0-beta12 (including)
DiscourseDiscourse1.4.0-beta2 (including)1.4.0-beta2 (including)
DiscourseDiscourse1.4.0-beta3 (including)1.4.0-beta3 (including)
DiscourseDiscourse1.4.0-beta4 (including)1.4.0-beta4 (including)
DiscourseDiscourse1.4.0-beta5 (including)1.4.0-beta5 (including)
DiscourseDiscourse1.4.0-beta6 (including)1.4.0-beta6 (including)
DiscourseDiscourse1.4.0-beta7 (including)1.4.0-beta7 (including)
DiscourseDiscourse1.4.0-beta8 (including)1.4.0-beta8 (including)
DiscourseDiscourse1.4.0-beta9 (including)1.4.0-beta9 (including)
DiscourseDiscourse1.5.0-beta1 (including)1.5.0-beta1 (including)
DiscourseDiscourse1.5.0-beta10 (including)1.5.0-beta10 (including)
DiscourseDiscourse1.5.0-beta11 (including)1.5.0-beta11 (including)
DiscourseDiscourse1.5.0-beta12 (including)1.5.0-beta12 (including)
DiscourseDiscourse1.5.0-beta13 (including)1.5.0-beta13 (including)
DiscourseDiscourse1.5.0-beta13b (including)1.5.0-beta13b (including)
DiscourseDiscourse1.5.0-beta14 (including)1.5.0-beta14 (including)
DiscourseDiscourse1.5.0-beta2 (including)1.5.0-beta2 (including)
DiscourseDiscourse1.5.0-beta3 (including)1.5.0-beta3 (including)
DiscourseDiscourse1.5.0-beta4 (including)1.5.0-beta4 (including)
DiscourseDiscourse1.5.0-beta5 (including)1.5.0-beta5 (including)
DiscourseDiscourse1.5.0-beta6 (including)1.5.0-beta6 (including)
DiscourseDiscourse1.5.0-beta7 (including)1.5.0-beta7 (including)
DiscourseDiscourse1.5.0-beta8 (including)1.5.0-beta8 (including)
DiscourseDiscourse1.5.0-beta9 (including)1.5.0-beta9 (including)
DiscourseDiscourse1.6.0-beta1 (including)1.6.0-beta1 (including)
DiscourseDiscourse1.6.0-beta10 (including)1.6.0-beta10 (including)
DiscourseDiscourse1.6.0-beta11 (including)1.6.0-beta11 (including)
DiscourseDiscourse1.6.0-beta12 (including)1.6.0-beta12 (including)
DiscourseDiscourse1.6.0-beta2 (including)1.6.0-beta2 (including)
DiscourseDiscourse1.6.0-beta3 (including)1.6.0-beta3 (including)
DiscourseDiscourse1.6.0-beta4 (including)1.6.0-beta4 (including)
DiscourseDiscourse1.6.0-beta5 (including)1.6.0-beta5 (including)
DiscourseDiscourse1.6.0-beta6 (including)1.6.0-beta6 (including)
DiscourseDiscourse1.6.0-beta7 (including)1.6.0-beta7 (including)
DiscourseDiscourse1.6.0-beta8 (including)1.6.0-beta8 (including)
DiscourseDiscourse1.6.0-beta9 (including)1.6.0-beta9 (including)
DiscourseDiscourse1.7.0-beta1 (including)1.7.0-beta1 (including)
DiscourseDiscourse1.7.0-beta10 (including)1.7.0-beta10 (including)
DiscourseDiscourse1.7.0-beta11 (including)1.7.0-beta11 (including)
DiscourseDiscourse1.7.0-beta2 (including)1.7.0-beta2 (including)
DiscourseDiscourse1.7.0-beta3 (including)1.7.0-beta3 (including)
DiscourseDiscourse1.7.0-beta4 (including)1.7.0-beta4 (including)
DiscourseDiscourse1.7.0-beta5 (including)1.7.0-beta5 (including)
DiscourseDiscourse1.7.0-beta6 (including)1.7.0-beta6 (including)
DiscourseDiscourse1.7.0-beta7 (including)1.7.0-beta7 (including)
DiscourseDiscourse1.7.0-beta8 (including)1.7.0-beta8 (including)
DiscourseDiscourse1.7.0-beta9 (including)1.7.0-beta9 (including)
DiscourseDiscourse1.8.0-beta1 (including)1.8.0-beta1 (including)
DiscourseDiscourse1.8.0-beta10 (including)1.8.0-beta10 (including)
DiscourseDiscourse1.8.0-beta11 (including)1.8.0-beta11 (including)
DiscourseDiscourse1.8.0-beta12 (including)1.8.0-beta12 (including)
DiscourseDiscourse1.8.0-beta13 (including)1.8.0-beta13 (including)
DiscourseDiscourse1.8.0-beta2 (including)1.8.0-beta2 (including)
DiscourseDiscourse1.8.0-beta3 (including)1.8.0-beta3 (including)
DiscourseDiscourse1.8.0-beta4 (including)1.8.0-beta4 (including)
DiscourseDiscourse1.8.0-beta5 (including)1.8.0-beta5 (including)
DiscourseDiscourse1.8.0-beta6 (including)1.8.0-beta6 (including)
DiscourseDiscourse1.8.0-beta7 (including)1.8.0-beta7 (including)
DiscourseDiscourse1.8.0-beta8 (including)1.8.0-beta8 (including)
DiscourseDiscourse1.8.0-beta9 (including)1.8.0-beta9 (including)
DiscourseDiscourse1.9.0-beta1 (including)1.9.0-beta1 (including)
DiscourseDiscourse1.9.0-beta10 (including)1.9.0-beta10 (including)
DiscourseDiscourse1.9.0-beta11 (including)1.9.0-beta11 (including)
DiscourseDiscourse1.9.0-beta12 (including)1.9.0-beta12 (including)
DiscourseDiscourse1.9.0-beta13 (including)1.9.0-beta13 (including)
DiscourseDiscourse1.9.0-beta14 (including)1.9.0-beta14 (including)
DiscourseDiscourse1.9.0-beta15 (including)1.9.0-beta15 (including)
DiscourseDiscourse1.9.0-beta16 (including)1.9.0-beta16 (including)
DiscourseDiscourse1.9.0-beta17 (including)1.9.0-beta17 (including)
DiscourseDiscourse1.9.0-beta2 (including)1.9.0-beta2 (including)
DiscourseDiscourse1.9.0-beta3 (including)1.9.0-beta3 (including)
DiscourseDiscourse1.9.0-beta4 (including)1.9.0-beta4 (including)
DiscourseDiscourse1.9.0-beta5 (including)1.9.0-beta5 (including)
DiscourseDiscourse1.9.0-beta6 (including)1.9.0-beta6 (including)
DiscourseDiscourse1.9.0-beta7 (including)1.9.0-beta7 (including)
DiscourseDiscourse1.9.0-beta8 (including)1.9.0-beta8 (including)
DiscourseDiscourse1.9.0-beta9 (including)1.9.0-beta9 (including)
DiscourseDiscourse2.0.0-beta1 (including)2.0.0-beta1 (including)
DiscourseDiscourse2.0.0-beta10 (including)2.0.0-beta10 (including)
DiscourseDiscourse2.0.0-beta2 (including)2.0.0-beta2 (including)
DiscourseDiscourse2.0.0-beta3 (including)2.0.0-beta3 (including)
DiscourseDiscourse2.0.0-beta4 (including)2.0.0-beta4 (including)
DiscourseDiscourse2.0.0-beta5 (including)2.0.0-beta5 (including)
DiscourseDiscourse2.0.0-beta6 (including)2.0.0-beta6 (including)
DiscourseDiscourse2.0.0-beta7 (including)2.0.0-beta7 (including)
DiscourseDiscourse2.0.0-beta8 (including)2.0.0-beta8 (including)
DiscourseDiscourse2.0.0-beta9 (including)2.0.0-beta9 (including)
DiscourseDiscourse2.1.0-beta1 (including)2.1.0-beta1 (including)
DiscourseDiscourse2.1.0-beta2 (including)2.1.0-beta2 (including)
DiscourseDiscourse2.1.0-beta3 (including)2.1.0-beta3 (including)
DiscourseDiscourse2.1.0-beta4 (including)2.1.0-beta4 (including)
DiscourseDiscourse2.1.0-beta5 (including)2.1.0-beta5 (including)
DiscourseDiscourse2.1.0-beta6 (including)2.1.0-beta6 (including)
DiscourseDiscourse2.2.0-beta1 (including)2.2.0-beta1 (including)
DiscourseDiscourse2.2.0-beta10 (including)2.2.0-beta10 (including)
DiscourseDiscourse2.2.0-beta2 (including)2.2.0-beta2 (including)
DiscourseDiscourse2.2.0-beta3 (including)2.2.0-beta3 (including)
DiscourseDiscourse2.2.0-beta4 (including)2.2.0-beta4 (including)
DiscourseDiscourse2.2.0-beta5 (including)2.2.0-beta5 (including)
DiscourseDiscourse2.2.0-beta6 (including)2.2.0-beta6 (including)
DiscourseDiscourse2.2.0-beta7 (including)2.2.0-beta7 (including)
DiscourseDiscourse2.2.0-beta8 (including)2.2.0-beta8 (including)
DiscourseDiscourse2.2.0-beta9 (including)2.2.0-beta9 (including)
DiscourseDiscourse2.3.0-beta1 (including)2.3.0-beta1 (including)
DiscourseDiscourse2.3.0-beta10 (including)2.3.0-beta10 (including)
DiscourseDiscourse2.3.0-beta11 (including)2.3.0-beta11 (including)
DiscourseDiscourse2.3.0-beta2 (including)2.3.0-beta2 (including)
DiscourseDiscourse2.3.0-beta3 (including)2.3.0-beta3 (including)
DiscourseDiscourse2.3.0-beta4 (including)2.3.0-beta4 (including)
DiscourseDiscourse2.3.0-beta5 (including)2.3.0-beta5 (including)
DiscourseDiscourse2.3.0-beta6 (including)2.3.0-beta6 (including)
DiscourseDiscourse2.3.0-beta7 (including)2.3.0-beta7 (including)
DiscourseDiscourse2.3.0-beta8 (including)2.3.0-beta8 (including)
DiscourseDiscourse2.3.0-beta9 (including)2.3.0-beta9 (including)
DiscourseDiscourse2.4.0-beta1 (including)2.4.0-beta1 (including)
DiscourseDiscourse2.4.0-beta10 (including)2.4.0-beta10 (including)
DiscourseDiscourse2.4.0-beta11 (including)2.4.0-beta11 (including)
DiscourseDiscourse2.4.0-beta2 (including)2.4.0-beta2 (including)
DiscourseDiscourse2.4.0-beta3 (including)2.4.0-beta3 (including)
DiscourseDiscourse2.4.0-beta4 (including)2.4.0-beta4 (including)
DiscourseDiscourse2.4.0-beta5 (including)2.4.0-beta5 (including)
DiscourseDiscourse2.4.0-beta6 (including)2.4.0-beta6 (including)
DiscourseDiscourse2.4.0-beta7 (including)2.4.0-beta7 (including)
DiscourseDiscourse2.4.0-beta8 (including)2.4.0-beta8 (including)
DiscourseDiscourse2.4.0-beta9 (including)2.4.0-beta9 (including)
DiscourseDiscourse2.5.0-beta1 (including)2.5.0-beta1 (including)
DiscourseDiscourse2.5.0-beta2 (including)2.5.0-beta2 (including)
DiscourseDiscourse2.5.0-beta3 (including)2.5.0-beta3 (including)
DiscourseDiscourse2.5.0-beta4 (including)2.5.0-beta4 (including)
DiscourseDiscourse2.5.0-beta5 (including)2.5.0-beta5 (including)
DiscourseDiscourse2.5.0-beta6 (including)2.5.0-beta6 (including)
DiscourseDiscourse2.5.0-beta7 (including)2.5.0-beta7 (including)
DiscourseDiscourse2.6.0-beta1 (including)2.6.0-beta1 (including)
DiscourseDiscourse2.6.0-beta2 (including)2.6.0-beta2 (including)
DiscourseDiscourse2.6.0-beta3 (including)2.6.0-beta3 (including)
DiscourseDiscourse2.6.0-beta4 (including)2.6.0-beta4 (including)
DiscourseDiscourse2.6.0-beta5 (including)2.6.0-beta5 (including)
DiscourseDiscourse2.6.0-beta6 (including)2.6.0-beta6 (including)
DiscourseDiscourse2.7.0-beta1 (including)2.7.0-beta1 (including)
DiscourseDiscourse2.7.0-beta2 (including)2.7.0-beta2 (including)
DiscourseDiscourse2.7.0-beta3 (including)2.7.0-beta3 (including)
DiscourseDiscourse2.7.0-beta4 (including)2.7.0-beta4 (including)
DiscourseDiscourse2.7.0-beta5 (including)2.7.0-beta5 (including)
DiscourseDiscourse2.7.0-beta6 (including)2.7.0-beta6 (including)
DiscourseDiscourse2.7.0-beta7 (including)2.7.0-beta7 (including)
DiscourseDiscourse2.7.0-beta8 (including)2.7.0-beta8 (including)
DiscourseDiscourse2.7.0-beta9 (including)2.7.0-beta9 (including)
DiscourseDiscourse2.8.0-beta1 (including)2.8.0-beta1 (including)
DiscourseDiscourse2.8.0-beta10 (including)2.8.0-beta10 (including)
DiscourseDiscourse2.8.0-beta11 (including)2.8.0-beta11 (including)
DiscourseDiscourse2.8.0-beta2 (including)2.8.0-beta2 (including)
DiscourseDiscourse2.8.0-beta3 (including)2.8.0-beta3 (including)
DiscourseDiscourse2.8.0-beta4 (including)2.8.0-beta4 (including)
DiscourseDiscourse2.8.0-beta5 (including)2.8.0-beta5 (including)
DiscourseDiscourse2.8.0-beta6 (including)2.8.0-beta6 (including)
DiscourseDiscourse2.8.0-beta7 (including)2.8.0-beta7 (including)
DiscourseDiscourse2.8.0-beta8 (including)2.8.0-beta8 (including)
DiscourseDiscourse2.8.0-beta9 (including)2.8.0-beta9 (including)
DiscourseDiscourse2.9.0-beta1 (including)2.9.0-beta1 (including)
DiscourseDiscourse2.9.0-beta10 (including)2.9.0-beta10 (including)
DiscourseDiscourse2.9.0-beta11 (including)2.9.0-beta11 (including)
DiscourseDiscourse2.9.0-beta12 (including)2.9.0-beta12 (including)
DiscourseDiscourse2.9.0-beta13 (including)2.9.0-beta13 (including)
DiscourseDiscourse2.9.0-beta14 (including)2.9.0-beta14 (including)
DiscourseDiscourse2.9.0-beta2 (including)2.9.0-beta2 (including)
DiscourseDiscourse2.9.0-beta3 (including)2.9.0-beta3 (including)
DiscourseDiscourse2.9.0-beta4 (including)2.9.0-beta4 (including)
DiscourseDiscourse2.9.0-beta5 (including)2.9.0-beta5 (including)
DiscourseDiscourse2.9.0-beta6 (including)2.9.0-beta6 (including)
DiscourseDiscourse2.9.0-beta7 (including)2.9.0-beta7 (including)
DiscourseDiscourse2.9.0-beta8 (including)2.9.0-beta8 (including)
DiscourseDiscourse2.9.0-beta9 (including)2.9.0-beta9 (including)
DiscourseDiscourse3.0.0-beta15 (including)3.0.0-beta15 (including)
DiscourseDiscourse3.0.0-beta16 (including)3.0.0-beta16 (including)
DiscourseDiscourse3.1.0-beta1 (including)3.1.0-beta1 (including)
DiscourseDiscourse3.1.0-beta2 (including)3.1.0-beta2 (including)
DiscourseDiscourse3.1.0-beta3 (including)3.1.0-beta3 (including)
DiscourseDiscourse3.1.0-beta4 (including)3.1.0-beta4 (including)
DiscourseDiscourse3.1.0-beta5 (including)3.1.0-beta5 (including)
DiscourseDiscourse3.1.0-beta6 (including)3.1.0-beta6 (including)
DiscourseDiscourse3.1.0-beta7 (including)3.1.0-beta7 (including)
DiscourseDiscourse3.1.0-beta8 (including)3.1.0-beta8 (including)
DiscourseDiscourse3.2.0 (including)3.2.0 (including)
DiscourseDiscourse3.2.0-beta1 (including)3.2.0-beta1 (including)
DiscourseDiscourse3.2.0-beta2 (including)3.2.0-beta2 (including)
DiscourseDiscourse3.2.0-beta3 (including)3.2.0-beta3 (including)
DiscourseDiscourse3.2.0-beta4 (including)3.2.0-beta4 (including)
DiscourseDiscourse3.3.0-beta1 (including)3.3.0-beta1 (including)
DiscourseDiscourse3.3.0-beta2 (including)3.3.0-beta2 (including)
DiscourseDiscourse3.3.0-beta3 (including)3.3.0-beta3 (including)
DiscourseDiscourse3.3.0-beta4 (including)3.3.0-beta4 (including)
DiscourseDiscourse3.3.0-beta5 (including)3.3.0-beta5 (including)
DiscourseDiscourse3.3.0-beta6 (including)3.3.0-beta6 (including)
DiscourseDiscourse3.4.0-beta1 (including)3.4.0-beta1 (including)
DiscourseDiscourse3.4.0-beta2 (including)3.4.0-beta2 (including)
DiscourseDiscourse3.4.0-beta3 (including)3.4.0-beta3 (including)
DiscourseDiscourse3.4.0-beta4 (including)3.4.0-beta4 (including)
DiscourseDiscourse3.5.0-beta1 (including)3.5.0-beta1 (including)
DiscourseDiscourse3.5.0-beta2 (including)3.5.0-beta2 (including)

Extended Description

Access control involves the use of several protection mechanisms such as:

When any mechanism is not applied or otherwise fails, attackers can compromise the security of the product by gaining privileges, reading sensitive information, executing commands, evading detection, etc. There are two distinct behaviors that can introduce access control weaknesses:

Potential Mitigations

  • Compartmentalize the system to have “safe” areas where trust boundaries can be unambiguously drawn. Do not allow sensitive data to go outside of the trust boundary and always be careful when interfacing with a compartment outside of the safe area.
  • Ensure that appropriate compartmentalization is built into the system design, and the compartmentalization allows for and reinforces privilege separation functionality. Architects and designers should rely on the principle of least privilege to decide the appropriate time to use privileges and the time to drop privileges.

References