Miggo Logo

CVE-2025-50481: Mezzanine CMS vulnerable to Cross-site Scripting

4.8

CVSS Score
3.1

Basic Information

EPSS Score
-
Published
7/23/2025
Updated
7/23/2025
KEV Status
No
Technology
TechnologyPython

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
Mezzaninepip<= 6.1.0

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability is a stored Cross-Site Scripting (XSS) in Mezzanine CMS. The analysis started by investigating the provided references, particularly the exploit PoC, which confirmed that the vulnerability is triggered when creating a blog post with a malicious title. To pinpoint the vulnerable code, I identified the patched version by looking at the repository tags. The version 6.1.0 was vulnerable, and the next version 6.1.1 contained the fix. By comparing the commits between these two versions, I found a single commit with the message 'fix: [security] fix XSS in admin'. This commit modified the mezzanine/core/views.py file, specifically the displayable_links_js function. The patch introduced the escape function from django.utils.html to sanitize the title attribute of displayable objects. This indicates that the displayable_links_js function was the source of the XSS vulnerability, as it was rendering unescaped user-provided content (the blog post title) in a JavaScript context within the admin panel.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

* *ross-sit* s*riptin* (XSS) vuln*r**ility in t** *ompon*nt /*lo*/*lo*post/*** o* M*zz*nin* *MS v*.*.* *llows *tt**k*rs to *x**ut* *r*itr*ry w** s*ripts or *TML vi* inj**tin* * *r**t** p*ylo** into * *lo* post.

Reasoning

T** vuln*r**ility is * stor** *ross-Sit* S*riptin* (XSS) in M*zz*nin* *MS. T** *n*lysis st*rt** *y inv*sti**tin* t** provi*** r***r*n**s, p*rti*ul*rly t** *xploit Po*, w*i** *on*irm** t**t t** vuln*r**ility is tri***r** w**n *r**tin* * *lo* post wit*