CVE-2023-30538: Stored Cross-site Scripting via improper sanitization of svg files in Discourse
Discourse is an open source platform for community discussion. Due to the improper sanitization of SVG files, an attacker can execute arbitrary JavaScript on the users’ browsers by uploading a crafted SVG file. This issue is patched in the latest stable and tests-passed versions of Discourse. Users are advised to upgrade. For users unable to upgrade there are two possible workarounds: enable CDN handing of uploads (and ensure the CDN sanitizes SVG files) or disable SVG file uploads by ensuring that the authorized extensions site setting does not include svg (or reset that setting to the default, by default Discourse doesn't enable SVG uploads by users).
Affected Software
Event History
Frequently Asked Questions
What is CVE-2023-30538?
CVE-2023-30538 is a vulnerability in Discourse that allows an attacker to execute arbitrary JavaScript on users' browsers by uploading a crafted SVG file.
How can an attacker exploit CVE-2023-30538?
An attacker can exploit CVE-2023-30538 by uploading a specially crafted SVG file to the Discourse platform, which will allow them to execute arbitrary JavaScript on users' browsers.
What versions of Discourse are affected by CVE-2023-30538?
The affected versions of Discourse are: stable versions up to and including 3.0.2, beta versions up to but not including 3.1.0, and beta versions 3.1.0-beta1, 3.1.0-beta2, and 3.1.0-beta3.
How severe is CVE-2023-30538?
CVE-2023-30538 has a severity rating of medium, with a CVSS score of 5.4.
How can I fix CVE-2023-30538?
The issue is patched in the latest stable and tests-passed versions of Discourse, so updating to the latest version will fix CVE-2023-30538.