Wagtail: Improper escaping of HTML (Cross-site Scripting) on TableBlock class attributes
Key facts
- Attack vector
- Network
- Privileges required
- High
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- High · High · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-79.
Summary
Wagtail is an open source content management system built on Django. Prior to versions 6.3.8, 7.0.6, 7.2.3, and 7.3.1, 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. This issue has been patched in versions 6.3.8, 7.0.6, 7.2.3, and 7.3.1.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| wagtail | wagtail | before 6.3.8; 6.4rc1 to before 7.0.6; 7.1rc1 to before 7.2.3; 7.3rc1 to before 7.3.1 | 6.3.8, 7.0.6, 7.2.3, 7.3.1 | Patch available | CNA |
| — | wagtail (PyPI) | before 6.3.8 | 6.3.8 | Patch available | GHSA-p5cm-246w-84jm |
| — | wagtail (PyPI) | 6.4rc1 to before 7.0.6 | 7.0.6 | Patch available | GHSA-p5cm-246w-84jm |
| — | wagtail (PyPI) | 7.1rc1 to before 7.2.3 | 7.2.3 | Patch available | GHSA-p5cm-246w-84jm |
| — | wagtail (PyPI) | 7.3rc1 to before 7.3.1 | 7.3.1 | Patch available | GHSA-p5cm-246w-84jm |
- wagtail Vendorwagtail Affected before 6.3.8; 6.4rc1 to before 7.0.6; 7.1rc1 to before 7.2.3; 7.3rc1 to before 7.3.1 Fixed in 6.3.8, 7.0.6, 7.2.3, 7.3.1 Patch available CNA
- wagtail (PyPI) Vendor— Affected before 6.3.8 Fixed in 6.3.8 Patch available GHSA-p5cm-246w-84jm
- wagtail (PyPI) Vendor— Affected 6.4rc1 to before 7.0.6 Fixed in 7.0.6 Patch available GHSA-p5cm-246w-84jm
- wagtail (PyPI) Vendor— Affected 7.1rc1 to before 7.2.3 Fixed in 7.2.3 Patch available GHSA-p5cm-246w-84jm
- wagtail (PyPI) Vendor— Affected 7.3rc1 to before 7.3.1 Fixed in 7.3.1 Patch available GHSA-p5cm-246w-84jm
Remediation
- Fix · CNA wagtail (wagtail) Fixed in 6.3.8, 7.0.6, 7.2.3, 7.3.1
- Fix · GHSA-p5cm-246w-84jm wagtail (PyPI) Fixed in 6.3.8 Advisory →
- Fix · GHSA-p5cm-246w-84jm wagtail (PyPI) Fixed in 7.0.6 Advisory →
- Fix · GHSA-p5cm-246w-84jm wagtail (PyPI) Fixed in 7.2.3 Advisory →
- Fix · GHSA-p5cm-246w-84jm wagtail (PyPI) Fixed in 7.3.1 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-28222
- 2026-10-03 Alias added: GHSA-p5cm-246w-84jm
References
Patch 4
- https://github.com/wagtail/wagtail/commit/0375094bb57ce6e527005c2bb2e871dd20bca04d
- https://github.com/wagtail/wagtail/commit/4620423cb22c5253391a0f04178089c1162f6e2e
- https://github.com/wagtail/wagtail/commit/575c0d7c18c7716ed73f7a3c2720ad75956f0a85
- https://github.com/wagtail/wagtail/commit/605a5569686565e035313222e1bc2f9802fbc55b
Advisory 2
More Wagtail vulnerabilities
- TI-2026-39163 Wagtail: Reflected XSS in dynamic image URL generator view CVSS 3.1HIGH 7.3
- TI-2020-08875 Possible XSS attack in Wagtail CVSS 3.1MEDIUM 6.8
- TI-2023-13342 Wagtail vulnerable to stored Cross-site Scripting attack via ModelAdmin views CVSS 3.1MEDIUM 6.4
- TI-2026-32180 Wagtail: Improper restriction handling on Documents and Images API CVSS 3.1MEDIUM 5.3
- TI-2026-22558 Wagtail: Improper escaping of HTML (Cross-site Scripting) in simple_translation admin interface CVSS 3.1MEDIUM 6.1
- TI-2024-26273 Wagtail regular expression denial-of-service via search query parsing CVSS 3.1MEDIUM 6.5
Sources
- CVE-2026-28222 · CVE Program
- CVE-2026-28222 · NVD
- FIRST EPSS
- GHSA-p5cm-246w-84jm · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences