4.4 MEDIUM
- CVSS version (CVSS): 3.1
- Attack Vector (AV): Network (N)
- Attack Complexity (AC): High (H)
- Privileges Required (PR): Low (L)
- User Interaction (UI): Required (R)
- Scope (S): Changed (C)
- Confidentiality (C): Low (L)
- Integrity (I): Low (L)
- Availability (A): None (N)
- Modified Attack Vector (MAV): Network (N)
- Modified Attack Complexity (MAC): High (H)
- Modified Privileges Required (MPR): Low (L)
- Modified User Interaction (MUI): Required (R)
- Modified Confidentiality (MC): Low (L)
- Modified Scope (MS): Changed (C)
- Modified Integrity (MI): Low (L)
- Modified Availability (MA): None (N)
Activity log
- Created suggestion
django CMS: Stored XSS in edit-mode plugin exception rendering
django CMS is an easy-to-use and developer-friendly enterprise content management system powered by Django. From 5.0.8 until 5.0.9, ContentRenderer.render_placeholder in cms/plugin_rendering.py can pass stored, attacker-controlled values to ContentRenderer.render_exception when plugin rendering fails in edit mode. Values from get_short_description(), the exception message, the placeholder, or placeholder.source are interpolated into a cms-rendering-exception heading and later returned through mark_safe. Because the heading is not escaped, stored HTML executes in an editor’s browser, and settings.DEBUG does not prevent the custom heading from rendering. The fix uses format_html to escape the message before safe placeholder output is returned. This issue is fixed in versions 5.0.9.
References
-
https://github.com/django-cms/django-cms/security/advisories/GHSA-hvq6-2r72-p2x7 x_refsource_CONFIRM
-
https://github.com/django-cms/django-cms/pull/8711 x_refsource_MISC
-
https://github.com/django-cms/django-cms/releases/tag/5.0.9 x_refsource_MISC
Affected products
- ==>= 5.0.8, < 5.0.9
Matching in nixpkgs
pkgs.python313Packages.django-cms
Lean enterprise content management powered by Django
Package maintainers
-
@onny Jonas Heinrich <onny@project-insanity.org>