A cross-site scripting (XSS) vulnerability in the component /blog/blogpost/add of Mezzanine CMS v6.1.0 allows attackers to execute arbitrary web scripts or HTML via injecting a crafted payload into a blog post.
CVE-2025-50481
Mezzanine CMS 6.1.0
4.8 Medium
CVSS:3.0/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N
- https://github.com/stephenmcd/mezzanine
- https://github.com/kevinpdicks/Mezzanine-CMS-6.1.0-XSS
Mezzanine CMS 6.1.0 version is affected by a stored cross-site scripting (XSS) vulnerability.
A XSS vulnerability exists in the new blog post functionality on the CMS, where an malicious authenticated attacker can craft a carefully formatted blog post containing JavaScript code, which is executed by the browser.
An attacker can leverage the XSS vulnerability to carry out attacks against the CMS website, such as defacement, or tamper with the site and cause it to be unavailable (denial-of-service).
Mezzanine CMS 6.1.0 running on Ubuntu Server 20.04.6 LTS (Focal Fossa) from pip package:
First an authenticated attacker creates a new blog post:
Create the XSS proof-of-concept (PoC) within the source code formatting of the blog post:
The blog post can be published and then accessed by any user:
Accessing the blog post with the XSS PoC triggers the JavaScript code in the browser:
PoC was tested using Firefox browser version 136.0 (64-bit):
Note: Session hijacking with the XSS vulnerability is not possible, as the sessionid session cookie is not accessible, since it is configured with the HttpOnly security attribute: