GitHub Advisoryadvisory · PyPI

GHSA-p5cm-246w-84jm Wagtail Vulnerable to Cross-site Scripting in TableBlock class attributes

MEDIUM Published 2026-03-03 Modified 2026-03-05 Official page ↗
Aliases
CVE-2026-28222
Ecosystem
PyPI
Packages
wagtail
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:N
Weaknesses
CWE-79
Reviewed
2026-03-03

Affected packages

• PyPI wagtail: < 6.3.8 → fixed in 6.3.8 • PyPI wagtail: >= 6.4rc1, < 7.0.6 → fixed in 7.0.6 • PyPI wagtail: >= 7.1rc1, < 7.2.3 → fixed in 7.2.3 • PyPI wagtail: >= 7.3rc1, < 7.3.1 → fixed in 7.3.1

Description

Impact A stored Cross-site Scripting (XSS) vulnerability exists on rendering `TableBlock` blocks within a StreamField. A user with access to create or edit pages containing `TableBlock` StreamField blocks is able to set specially-crafted `class` attributes on the block which run arbitrary JavaScript code when the page is viewed. When viewed by a user with higher privileges, this could lead to performing actions with that user's credentials. The vulnerability is not exploitable by an ordinary site visitor without access to the Wagtail admin, and only affects sites using TableBlock. Patches Patched versions have been released as Wagtail 6.3.8, 7.0.6, 7.2.3 and 7.3.1. Workarounds Site owners who are unable to upgrade to the new versions can remediate the vulnerability by setting a `template` attribute on all TableBlock definitions, referencing a template that does not output `class` attributes. For example: ```django ``` Acknowledgements Many thanks to Guan Chenxian (@GCXWLP) for reporting this issue. For more information If there are any questions or comments about this advisory: • Visit Wagtail's support channels • Email Wagtail at [email protected] (view the security policy for more information).

Related

Alias · CVE (1)

  • CVE-2026-28222 Wagtail is an open source content management system built on Django. vulnerability

Weakness · CWE (1)

  • CWE-79 Improper Neutralization of Input During Web Page Generation weakness

References