Miggo Logo

CVE-2025-24370:
Django-Unicorn Class Pollution Vulnerability, Leading to XSS, DoS and Authentication Bypass

9.3

CVSS Score
4.0

Basic Information

EPSS Score
0.5477%
Published
2/3/2025
Updated
2/4/2025
KEV Status
No
Technology
TechnologyPython

Technical Details

CVSS Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Package NameEcosystemVulnerable VersionsFirst Patched Version
django-unicornpip< 0.62.00.62.0

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems directly from the set_property_value function's handling of property_name parameters. The function's logic to split dotted paths and recursively access/modify attributes (via setattr/dict updates) without restricting magic attributes (dunder methods) allows traversal into sensitive runtime objects. The official patch adds validation for __-prefixed paths, confirming this as the root cause. While the PoCs demonstrate pollution of Django/BS4 modules, those are exploitation targets enabled by this core vulnerable function in Django-Unicorn.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

# Summ*ry *j*n*o-Uni*orn is vuln*r**l* to pyt*on *l*ss pollution vuln*r**ility, * n*w typ* o* vuln*r**ility **t**oriz** un**r [*W*-***](*ttps://*w*.mitr*.or*/**t*/***initions/***.*tml). T** vuln*r**ility *ris*s *rom t** *or* *un*tion*lity `s*t_prop*

Reasoning

T** vuln*r**ility st*ms *ir**tly *rom t** s*t_prop*rty_v*lu* *un*tion's **n*lin* o* prop*rty_n*m* p*r*m*t*rs. T** *un*tion's lo*i* to split *ott** p*t*s *n* r**ursiv*ly ****ss/mo*i*y *ttri*ut*s (vi* s*t*ttr/*i*t up**t*s) wit*out r*stri*tin* m**i* *tt