CVE-2021-25975 Publify - Stored Cross-Site Scripting (XSS) due to Unrestricted File Upload
A publisher can inject malicious JavaScript via unrestricted file upload, leading to stored XSS attacks against other users.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2021-25975?
CVE-2021-25975 is a medium-severity cross-site scripting vulnerability in publify_core, published on 10 Nov 2021. Any signed-in user can exploit it over the network, and only if a user opens a file or follows a link.
Official description
In publify, versions v8.0 to v9.2.4 are vulnerable to stored XSS as a result of an unrestricted file upload. This issue allows a user with “publisher” role to inject malicious JavaScript via the uploaded html file.
Weakness: CWE-79
Which versions are affected by CVE-2021-25975?
3 open source packages ship an affected version, including publify_core and publify. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
publify_core RubyGems | From 8.0 | 9.2.5 |
publify_core RubyGems | From 8.0 | 9.2.5 |
publify Bitnami | From 8.0.0 | 9.2.4 |
Products include Publify Project Publify.
How do I fix CVE-2021-25975?
Upgrade publify_core to 9.2.5 or later.
Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.
Is CVE-2021-25975 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2021-25975 exists.
Other vulnerabilities in publify_core
- CVE-2022-1810 Authorization Bypass Through User-Controlled Key in publify/publify
- CVE-2022-1811 Unrestricted Upload of File with Dangerous Type in publify/publify
- CVE-2022-1553 Leaking password protected articles content due to improper access control in publify/publify
- CVE-2023-0299 Improper Input Validation in publify/publify
- CVE-2023-0569 Weak Password Requirements in publify/publify
Sources
Also known as BIT-publify-2021-25975, GHSA-3h7v-wqw7-ff28.