# CVE-2021-29434: Improper validation of URLs ('Cross-site Scripting') in Wagtail rich text fields

Source: https://junglewise.ai/threats/cve-2021-29434-improper-validation-of-urls-cross-site-scripting-in-wagtail-rich  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2021-04-19  
License: CC BY 4.0 with a link back

CVE-2021-29434 · Severity: low · CVSS 3.1 · Published 2021-04-19

Wagtail is a Django content management system. In affected versions of Wagtail, when saving the contents of a rich text field in the admin interface, Wagtail does not apply server-side checks to ensure that link URLs use a valid protocol. A malicious user with access to the admin interface could thus craft a POST request to publish content with `javascript:` URLs containing arbitrary code. The vulnerability is not exploitable by an ordinary site visitor without access to the Wagtail admin. See referenced GitHub advisory for additional details, including a workaround. Patched versions have been released as Wagtail 2.11.7 (for the LTS 2.11 branch) and Wagtail 2.12.4 (for the current 2.12 branch).

Technologies: [wagtail (PyPI)](https://junglewise.ai/threats/technologies/pypi-wagtail). Vendors: [PyPI](https://junglewise.ai/threats/vendors/pypi).

## Quick answers

**Is CVE-2021-29434 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2021-29434 being exploited in the wild.

**How severe is CVE-2021-29434?** Low severity, with a CVSS score of 3.1, published 19 April 2021.

**Which products and versions are affected?** wagtail (PyPI) ECOSYSTEM:introduced=0,fixed=2.11.7, ECOSYSTEM:introduced=2.11,fixed=2.11.7,introduced=0,fixed=2.11.6,introduced=2.12,fixed=2.12.4.

**Is there a fix for CVE-2021-29434?** Yes. wagtail (PyPI): upgrade to 2.11.7, 2.12.4 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**Am I affected by CVE-2021-29434?** Check whether you run wagtail (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

- wagtail (PyPI): upgrade to 2.11.7, 2.12.4 or later

  ```sh
  pip install "wagtail>=2.12.4"
  ```


## Affected products

- wagtail (PyPI) ECOSYSTEM:introduced=0,fixed=2.11.7, ECOSYSTEM:introduced=2.11,fixed=2.11.7,introduced=0,fixed=2.11.6,introduced=2.12,fixed=2.12.4

## Identifiers

- CVE-2021-29434
- GHSA-wq5h-f9p5-q7fx
- PYSEC-2021-114

## Related threats

- [Wagtail Pages admin API improper access control](https://junglewise.ai/threats/cve-2026-55468-wagtail-pages-admin-api-improper-access-control)
- [PYSEC-2026-2030 - Wagtail has improper permission handling on admin preview endpoints](https://junglewise.ai/threats/cve-2026-25517-wagtail-has-improper-permission-handling-on-admin-preview)
- [PYSEC-2026-2032 - Improper Handling of Insufficient Permissions in `wagtail.contrib.settings`](https://junglewise.ai/threats/cve-2024-35228-improper-handling-of-insufficient-permissions-in-wagtail-contrib)
- [PYSEC-2026-2031 - Wagtail has permission check bypass when editing a model with per-field restrictions through…](https://junglewise.ai/threats/cve-2024-32882-wagtail-has-permission-check-bypass-when-editing-a-model-with-per)
- [Wagtail reflected XSS in dynamic image URL generator](https://junglewise.ai/threats/cve-2026-54263-wagtail-reflected-xss-in-dynamic-image-url-generator)
