Headline
CVE-2023-30538: Stored XSS via improper sanitization of SVG uploads
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).
Impact
Due to the improper sanitization of SVG files, an attacker can execute arbitrary JavaScript on the users’ browsers by uploading a crafted SVG file.
Patches
This issue is patched in the latest stable and tests-passed versions of Discourse.
Workarounds
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).