Skip to content

Stored XSS in non-image uploads when viewed inline in browser

Moderate
NGPixel published GHSA-rhpf-929m-7fm2 Dec 26, 2021

Package

No package listed

Affected versions

<2.5.264

Patched versions

2.5.264

Description

Impact

Wiki.js 2.5.263 and earlier is vulnerable to stored cross-site scripting through non-image file uploads for file types that can be viewed directly inline in the browser.

By creating a malicious file which can execute inline JS when viewed in the browser (e.g. XML files), a malicious Wiki.js user may stage a stored cross-site scripting attack. This allows the attacker to execute malicious JavaScript when the file is viewed directly by other users. The file must be opened directly by the user and will not trigger directly in a normal Wiki.js page.

Patches

Commit 79bdd44 fixes this vulnerability by adding an optional (enabled by default) force download flag to all non-image file types, preventing the file from being viewed inline in the browser.

Workarounds

Disable file upload for all non-trusted users.


Thanks to @Haxatron for reporting this vulnerability.
Initially reported via https://huntr.dev/bounties/266bff09-00d9-43ca-a4bb-bb540642811f/

Severity

Moderate

CVE ID

CVE-2021-43856

Weaknesses

No CWEs

Credits