Overview
We are drawing attention to a significant vulnerability discovered in the Discourse community discussion platform, identified as CVE-2023-48297. This vulnerability, connected to the expanded chat mentions feature of the platform, carries a high CVSS Severity Score of 8.6, indicating its potential for system compromise or data leakage. Discourse is a widely used platform for community discussions, and thus, the vulnerability poses a significant risk to a large number of users, especially those running outdated versions of the software. It is paramount that users understand this vulnerability and take appropriate action to safeguard their systems.
Vulnerability Summary
CVE ID: CVE-2023-48297
Severity: High, CVSS score 8.6
Attack Vector: Network
Privileges Required: None
User Interaction: Required
Impact: Potential system compromise or data leakage
Affected Products
No phone number, email, or personal info required.
Product | Affected Versions
Discourse | versions prior to 3.1.4
Discourse | versions prior to 3.2.0.beta5
How the Exploit Works
This vulnerability arises due to the message serializer’s use of the expanded chat mentions feature, specifically @all and @here mentions. When these expanded chat mentions are used, the serializer generates an array containing all users, which can become extremely long in larger communities. An attacker, by taking advantage of this feature, can cause a Denial of Service (DoS) attack or potentially access unauthorized data, leading to system compromise or data leakage.
Conceptual Example Code
Here is a conceptual example of how an attacker might exploit the vulnerability:
POST /message/serializer HTTP/1.1
Host: discourse.example.com
Content-Type: application/json
{
"username": "attacker",
"mention": "@all",
"message": "This is a test message"
}
In this example, the attacker posts a message mentioning “@all”. The server then attempts to create an array containing all users on the platform, and this process could potentially lead to system instability or unauthorized data access.
Mitigation Guidance
To address this vulnerability, users are advised to immediately apply the patches provided by the vendor. Discourse has released patches in versions 3.1.4 and beta 3.2.0.beta5, which resolve this issue. If immediate patching is not possible, using a Web Application Firewall (WAF) or Intrusion Detection System (IDS) can serve as a temporary mitigation measure. However, these should not be considered as long-term solutions, as they do not directly address the underlying vulnerability. Regular patching and updates remain the best defense against such vulnerabilities.