CVE-2026-34231: mixxorz Slippers XSS in attrs template tag

CVE-2026-34231 · Severity: medium · CVSS 6.1 · Published 2026-03-31

Slippers is a user interface framework for the Django web platform that helps developers build reusable components. A security flaw in the way it handles HTML attributes allows attackers to inject malicious scripts into web pages viewed by other users. This could lead to unauthorized actions being taken in a user's session, such as stealing login information or defacing the website.

Vendors: Django, PyPI.

Quick answers

Is CVE-2026-34231 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-34231 being exploited in the wild.
How severe is CVE-2026-34231?
Medium severity, with a CVSS score of 6.1, published 31 March 2026.
Which products and versions are affected?
slippers (PyPI) ECOSYSTEM:introduced=0,fixed=0.6.3.
Is there a fix for CVE-2026-34231?
Yes. slippers (PyPI): upgrade to 0.6.3 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-34231 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-34231?
Check whether you run Django Slippers or slippers (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • slippers (PyPI): upgrade to 0.6.3 or later
    pip install "slippers>=0.6.3"

Technical details

A Cross-Site Scripting (XSS) vulnerability exists in the Slippers Django package within the `{% attrs %}` template tag. The root cause is located in the `attr_string` function within `slippers/templatetags/slippers.py`, where context variables are interpolated into HTML attribute strings using f-strings without proper escaping. Because the `AttrsNode` is a custom Django template `Node` rather than a `simple_tag`, it does not benefit from Django's automatic output escaping. An attacker can provide crafted input (e.g., via URL parameters) that breaks out of the HTML attribute context to execute arbitrary JavaScript in the victim's browser. The issue is fixed in version 0.6.3 by utilizing `django.utils.html.format_html` for safe attribute generation.

Affected products

  • mixxorz slippers < 0.6.3

Identifiers

  • CVE-2026-34231
  • GHSA-w7rv-gfp4-j9j3
  • PYSEC-2026-2279

Timeline

  • 2026-03-30: patched: Version 0.6.3 released
  • 2026-03-31: disclosed: Security advisory published

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.