Wagtail: Improper restriction handling on Pages admin API
Impact
The internal Pages admin API incorrectly returns page fields without access control when they are declared in api_fields. A user with access to the Wagtail admin can use this API to fetch draft and live page fields’ contents that are part of api_fields on the base page model (title, slug, seo_title, search_description), as well as all custom fields declared in api_fields.
The vulnerability is not exploitable by an ordinary site visitor without access to the Wagtail admin.
Patches
Patched versions have been released as Wagtail 7.0.9, 7.3.4, 7.4.3 and 8.0rc2.
Workarounds
Site owners unable to upgrade can apply the fix by overriding the relevant method on PagesAdminAPIViewSet to patch all vulnerable admin API endpoints:
# wagtail_hooks.py or AppConfig.ready()
from wagtail.admin.api.views import PagesAdminAPIViewSet
from wagtail.permissions import page_permission_policy
def _restricted_get_base_queryset(self):
return page_permission_policy.explorable_instances(self.request.user)
PagesAdminAPIViewSet.get_base_queryset = _restricted_get_base_queryset
Acknowledgements
Many thanks to xuliang@QAX for reporting this issue.
For more information
If you have any questions or comments about this advisory:
- Visit Wagtail's support channels
- Email us at security@wagtail.org (view our security policy for more information).
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| Python (PyPI) | wagtail | < 7.0.9, >= 7.1, < 7.3.4, >= 7.4, < 7.4.3, >= 8.0rc1, < 8.0rc2 | 7.0.9, 7.3.4, 7.4.3, 8.0rc2 |
References
- CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N- Weakness (CWE)
CWE-280- Platform
- Python (PyPI)
- Package
wagtail- Disclosed
- 20.08.2026
- Updated
- 11.10.2026 15:18
Sources and licenses
OSV / GitHub Advisory Database - PYSEC-2026-3939 - PyPA Advisory Database; CC BY 4.0
OSV / GitHub Advisory Database - GHSA-3vrh-m9w7-v94f - CC BY 4.0
Vulnerability history: wagtail
All published vulnerabilities of this package (Python (PyPI)), newest first. Shows whether this is a one-off slip or a package that needs watching.
- Total entries
- 30
- First → latest
- 04.2020 08.2026
- Without a fix
- 0
- Exploited in attacks
- 0
Severity breakdown
- High 5
- Medium 22
- Low 3
Disclosures per year
- 2020: 3
- 2021: 2
- 2022: 1
- 2023: 3
- 2024: 3
- 2025: 0
- 2026: 18
-
Wagtail: Improper restriction handling on Pages admin API this entry
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.