Ecosyste.ms: Advisories

An open API service providing security vulnerability metadata for many open source software ecosystems.

Security Advisories: GSA_kwCzR0hTQS1qbXAzLTM5dnAtZndnOM4AA9zm

Wagtail regular expression denial-of-service via search query parsing

Impact

A bug in Wagtail's parse_query_string would result in it taking a long time to process suitably crafted inputs. When used to parse sufficiently long strings of characters without a space, parse_query_string would take an unexpectedly large amount of time to process, resulting in a denial of service.

In an initial Wagtail installation, the vulnerability can be exploited by any Wagtail admin user. It cannot be exploited by end users. If your Wagtail site has a custom search implementation which uses parse_query_string, it may be exploitable by other users (e.g. unauthenticated users).

Patches

Patched versions have been released as Wagtail 5.2.6, 6.0.6 and 6.1.3.

This vulnerability affects all unpatched versions from Wagtail 2.0 onwards.

Workarounds

Site owners who are unable to upgrade to a patched version can limit the length of search terms passed to parse_query_string. Whilst the performance characteristics will depend on your hosting environment, 1000 characters has been shown to still be fairly fast, without triggering this vulnerability.

No workaround is available for the Wagtail admin usage.

Acknowledgements

Many thanks to Jake Howard for reporting this issue.

For more information

If you have any questions or comments about this advisory:

Permalink: https://github.com/advisories/GHSA-jmp3-39vp-fwg8
JSON: https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1qbXAzLTM5dnAtZndnOM4AA9zm
Source: GitHub Advisory Database
Origin: Unspecified
Severity: High
Classification: General
Published: 4 months ago
Updated: 3 days ago


CVSS Score: 6.5
CVSS vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Identifiers: GHSA-jmp3-39vp-fwg8, CVE-2024-39317
References: Repository: https://github.com/wagtail/wagtail
Blast Radius: 21.4

Affected Packages

pypi:wagtail
Dependent packages: 200
Dependent repositories: 1,955
Downloads: 267,948 last month
Affected Version Ranges: >= 2.0, < 5.2.6, >= 6.1, < 6.1.3, >= 6.0, < 6.0.6
Fixed in: 5.2.6, 6.1.3, 6.0.6
All affected versions: 2.0.1, 2.0.2, 2.1.1, 2.1.2, 2.1.3, 2.2.1, 2.2.2, 2.5.1, 2.5.2, 2.6.1, 2.6.2, 2.6.3, 2.7.1, 2.7.2, 2.7.3, 2.7.4, 2.8.1, 2.8.2, 2.9.1, 2.9.2, 2.9.3, 2.10.1, 2.10.2, 2.11.1, 2.11.2, 2.11.3, 2.11.4, 2.11.5, 2.11.6, 2.11.7, 2.11.8, 2.11.9, 2.12.1, 2.12.2, 2.12.3, 2.12.4, 2.12.5, 2.12.6, 2.13.1, 2.13.2, 2.13.3, 2.13.4, 2.13.5, 2.14.1, 2.14.2, 2.15.1, 2.15.2, 2.15.3, 2.15.4, 2.15.5, 2.15.6, 2.16.1, 2.16.2, 2.16.3, 3.0.1, 3.0.2, 3.0.3, 4.0.1, 4.0.2, 4.0.3, 4.0.4, 4.1.1, 4.1.2, 4.1.3, 4.1.4, 4.1.5, 4.1.6, 4.1.7, 4.1.8, 4.1.9, 4.2.1, 4.2.2, 4.2.3, 4.2.4, 5.0.1, 5.0.2, 5.0.3, 5.0.4, 5.0.5, 5.1.1, 5.1.2, 5.1.3, 5.2.1, 5.2.2, 5.2.3, 5.2.4, 5.2.5, 6.0.1, 6.0.2, 6.0.3, 6.0.4, 6.0.5, 6.1.1, 6.1.2
All unaffected versions: 0.3.1, 0.4.1, 0.8.1, 0.8.2, 0.8.3, 0.8.4, 0.8.5, 0.8.6, 0.8.7, 0.8.8, 0.8.9, 0.8.10, 1.3.1, 1.4.1, 1.4.2, 1.4.3, 1.4.4, 1.4.5, 1.4.6, 1.5.1, 1.5.2, 1.5.3, 1.6.1, 1.6.2, 1.6.3, 1.8.1, 1.8.2, 1.9.1, 1.10.1, 1.11.1, 1.12.1, 1.12.2, 1.12.3, 1.12.4, 1.12.5, 1.12.6, 1.13.1, 1.13.2, 1.13.3, 1.13.4, 5.2.6, 5.2.7, 6.0.6, 6.1.3, 6.2.1, 6.2.2, 6.2.3, 6.3.1