CVE-2021-25975 Publify - Stored Cross-Site Scripting (XSS) due to Unrestricted File Upload

Medium 5.4 Published Updated

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.

PackageAffectedFixed in
publify_core RubyGemsFrom 8.09.2.5
publify_core RubyGemsFrom 8.09.2.5
publify BitnamiFrom 8.0.09.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.

Sources

Also known as BIT-publify-2021-25975, GHSA-3h7v-wqw7-ff28.

Is CVE-2021-25975 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free