fix(deps): update dependency wagtail to v6 [security]#3777
Open
renovate[bot] wants to merge 1 commit intomasterfrom
Open
fix(deps): update dependency wagtail to v6 [security]#3777renovate[bot] wants to merge 1 commit intomasterfrom
renovate[bot] wants to merge 1 commit intomasterfrom
Conversation
a17d2b5 to
141bc8a
Compare
01a664d to
1ad836b
Compare
8c8aa32 to
6acf8ba
Compare
8e3c49a to
eb24a98
Compare
8b537f6 to
8cb308c
Compare
8cb308c to
1f33630
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==5.2.8→==6.3.8GitHub Vulnerability Alerts
CVE-2026-25517
Impact
Due to a missing permission check on the preview endpoints, a user with access to the Wagtail admin and knowledge of a model's fields can craft a form submission to obtain a preview rendering of any page, snippet or site setting object for which previews are enabled, consisting of any data of the user's choosing. The existing data of the object itself is not exposed, but depending on the nature of the template being rendered, this may expose other database contents that would otherwise only be accessible to users with edit access over the model. The vulnerability is not exploitable by an ordinary site visitor without access to the Wagtail admin.
Patches
Patched versions have been released as Wagtail 6.3.6, 7.0.4, 7.1.3 and 7.2.2. The new 7.3 feature release also incorporates this fix.
Workarounds
No workaround is available.
Acknowledgements
Many thanks to @thxtech for reporting this issue.
For more information
If there are any questions or comments about this advisory:
CVE-2026-28222
Impact
A stored Cross-site Scripting (XSS) vulnerability exists on rendering
TableBlockblocks within a StreamField. A user with access to create or edit pages containingTableBlockStreamField blocks is able to set specially-craftedclassattributes 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
templateattribute on all TableBlock definitions, referencing a template that does not outputclassattributes. For example:Acknowledgements
Many thanks to Guan Chenxian (@GCXWLP) for reporting this issue.
For more information
If there are any questions or comments about this advisory:
CVE-2026-28223
Impact
A stored Cross-site Scripting (XSS) vulnerability exists on confirmation messages within the
wagtail.contrib.simple_translationmodule. A user with access to the Wagtail admin area may create a page with a specially-crafted title which, when another user performs the "Translate" action, causes arbitrary JavaScript code to run. 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.Patches
Patched versions have been released as Wagtail 6.3.8, 7.0.6, 7.2.3 and 7.3.1.
Workarounds
None
Acknowledgements
Many thanks to Guan Chenxian (@GCXWLP) for reporting this issue.
For more information
If there are any questions or comments about this advisory:
Release Notes
wagtail/wagtail (wagtail)
v6.3.8: 6.3.8Compare Source
v6.3.7: 6.3.7Compare Source
v6.3.6: 6.3.6Compare Source
v6.3.5: 6.3.5Compare Source
child_blockkwarg (Matt Westcott)utf8mb4charset and collation for MySQL test database (Sage Abdullah)v6.3.4: 6.3.4Compare Source
v6.3.3Compare Source
StreamChildrenToListBlockOperationfrom duplicating data across multiple StreamField instances (Joshua Munn)RichTextBlockto aStreamField(Matt Westcott)v6.3.2: 6.3.2Compare Source
get_block_by_content_pathonImageBlockto prevent errors on commenting (Matt Westcott)v6.3.1: 6.3.1Compare Source
ImageChooserBlocktoImageBlockdata conversions where all inputs tobulk_to_pythonare null (Storm Heg, Matt Westcott)BlogTagIndexPageexample for clarity (Clifford Gama)wagtailcacheandwagtailpagecacheexamples to not use quotes for thefragment_name(Shiv)v6.3: 6.3 (LTS)Compare Source
ImageBlockwith alt text support (Chiemezuo Akujobi for Google Summer of Code, mentored by Storm Heg, Saptak Sengupta, Thibaud Colas and Matt Westcott)getTextLabelmethod on date / time StreamField blocks (Vaughn Dickson)WAGTAIL_AUTO_UPDATE_PREVIEWsetting, useWAGTAIL_AUTO_UPDATE_PREVIEW_INTERVAL = 0instead (Sage Abdullah)capfirstfor title-casing model verbose names (Sébastien Corbin)copy_for_translation_donesignal when copying translatable models as well as pages (Coen van der Kamp)descriptionfield across all images, to better support accessible image descriptions (Chiemezuo Akujobi)file_sizefield on document model to avoid artificial 2Gb limit (Gabriel Getzie)TypedTableBlockuses the correct API representations of child blocks (Matt Westcott)mediadefinitions (Sage Abdullah)AbstractGroupApprovalTaskto ensurecan_handlechecks for the abstract class correctly (Sumana Sree Angajala)WAGTAIL_WORKFLOW_REQUIRE_REAPPROVAL_ON_EDITdocumentation to state that it defaults toFalse(Matt Westcott)TokenAuthenticationin the Wagtail API v2 Configuration Guide (Krzysztof Jeziorny)zoneinfo.available_timezones(Sage Abdullah)get_prep_valuefor closer alignment with JSONField (Sage Abdullah)IndexViewtoBaseListingView(Sage Abdullah).in_bulk()on specific querysets under Django 5.2a0 (Sage Abdullah)test-mediato .gitignore (Shlomo Markowitz)debounceutil's return type for better TypeScript usage (Sage Abdullah)wagtailConfigvalues from inline scripts to thewagtail_configtemplate tag (LB (Ben) Johnston, Sage Abdullah){% locales %}and{% js_translation_strings %}template tags (LB (Ben) Johnston, Sage Abdullah)window.wagtailConfig.BULK_ACTION_ITEM_TYPEusage in JavaScript to reduce reliance on inline scripts (LB (Ben) Johnston)window.fileupload_optsusage in JavaScript, use data attributes on fields instead to reduce reliance on inline scripts (LB (Ben) Johnston)image_format_name_to_content_typehelper function that duplicates Willow functionality (Matt Westcott)DeleteMenuItemAPI for footer actions (Sage Abdullah)v6.2.4: 6.2.4Compare Source
child_blockkwarg (Matt Westcott)v6.2.3: 6.2.3Compare Source
v6.2.2: 6.2.2Compare Source
USE_THOUSAND_SEPARATORformatting numbers where formatting is invalid (Sébastien Corbin, Matt Westcott)v6.2.1: 6.2.1Compare Source
child_blockbeing passed as a kwarg in ListBlock migrations (Matt Westcott)wagtail.admin.modelsand custom user models (Matt Westcott)v6.2: 6.2Compare Source
HOSTNAMESparameter onWAGTAILFRONTENDCACHEto define which hostnames a backend should respond to (Jake Howard, sponsored by Oxfam America)EditViewand breadcrumbs (Rohit Sharma)ChooseParentViewif only one possible valid parent page is available (Matthias Brück)copy_for_translation_donesignal when a page is copied for translation (Arnar Tumi Þorsteinsson)deactivate()method toProgressController(Alex Morega)ModelViewSet(Sage Abdullah)routable_resolver_matchattribute available on RoutablePageMixin responses (Andy Chosak)UserViewSetvia the app config (Sage Abdullah)StreamBlock/ListBlockmin_num/max_num(Matt Westcott)WAGTAILIMAGES_CHOOSER_PAGE_SIZEsetting functional again (Rohit Sharma)richtexttemplate tag to convert lazy translation values (Benjamin Bach).icoimages (Julie Rymer)verbose_nameonTranslatableMixin.localeso that it is translated when used as a label (Romein van Buren)wagtail_serveview is on a non-root path (Sage Abdullah)for_instancemethod toPageLogEntryManager(Matt Westcott)WAGTAIL_DATE_FORMAT,WAGTAIL_DATETIME_FORMATandWAGTAIL_TIME_FORMATtakeFORMAT_MODULE_PATHinto account (Sébastien Corbin)restriction_typefield on PageViewRestriction (Shlomo Markowitz)Orderableis not required for inline panels (Bojan Mihelac)prefers-reduced-motionto the accessibility documentation (Roel Koper)vary_fieldsproperty for custom image filters (Daniel Kirkham)DjangoJSONEncoderinstead of customLazyStringEncoderto serialize Draftail config (Sage Abdullah)WAGTAILIMAGES_CHOOSER_PAGE_SIZEat runtime (Matt Westcott)client/scssdirectory in Tailwind content config to speed up CSS compilation (Sage Abdullah)contrib.frontend_cache.backendsinto dedicated sub-modules (Andy Babic)docs/autobuild.shscript (Sævar Öfjörð Magnússon)urlparsewithurlsplitto improve performance (Jake Howard)'BlockWidget' object has no attribute '_block_json'from masking errors during StreamField serialization (Matt Westcott)v6.1.3: 6.1.3Compare Source
.icoimages (Julie Rymer)v6.1.2: 6.1.2Compare Source
ChoiceBlock(Matt Westcott)wagtail.contrib.settings(Victor Miti, Matt Westcott, Jake Howard)v6.1.1: 6.1.1Compare Source
v6.1: 6.1Compare Source
WAGTAIL_DATE_FORMAT,WAGTAIL_DATETIME_FORMAT,WAGTAIL_TIME_FORMATare correctly configured (Rohit Sharma, Coen van der Kamp)IndexViewusing thegeneric.IndexView(Rohit Sharma, Sage Abdullah, Storm Heg)IndexViewusing thegeneric.IndexView(Rohit Sharma, Sage Abdullah, Temidayo Azeez)PageListingViewSetfor custom per-page-type page listings (Matt Westcott)ChooseParentViewtoPageListingViewSetto allow creating pages from custom page listings (Abdelrahman Hamada, Sage Abdullah)djangorestframeworkto 3.15.1 (Sage Abdullah)IndexView.list_display(Abdelrahman Hamada)STORAGESalias name forWAGTAILIMAGES_RENDITION_STORAGE(Alec Baron)PASSWORD_REQUIRED_TEMPLATEsetting toWAGTAIL_PASSWORD_REQUIRED_TEMPLATEwith deprecation of previous naming (Saksham Misra, LB (Ben) Johnston)DOCUMENT_PASSWORD_REQUIRED_TEMPLATEsetting toWAGTAILDOCS_PASSWORD_REQUIRED_TEMPLATEwith deprecation of previous naming (Saksham Misra, LB (Ben) Johnston)get_parent(Nigel van Keulen)wagtail.contrib.settingsorModelViewSet(Ben Morse, Joshua Munn, Jake Howard, Sage Abdullah)__str__for MySQL search index (Jake Howard)dateobjects onhuman_readable_datetemplate tag (Jhonatan Lopes)verbose_namein group edit view when listing custom permissions (Sage Abdullah, Neeraj Yetheendran, Omkar Jadhav)make livehtml(Sage Abdullah)LANGUAGE_CODE(Mark Niehues)UnsavedControllerchecks for nested removal/additions of inputs so that the unsaved warning shows in more valid cases when editing a page (Karthik Ayangar)get_add_url()is always used to re-render the add button when the listing is refreshed in viewsets (Sage Abdullah)objectsmanager (Jhonatan Lopes)get_dummy_request's resulting host name when running tests withALLOWED_HOSTS = ["*"](David Buxton)timesince_last_updatetemplate tag (Matt Westcott)w-kbd-scope-valuewith support forglobalso that specific keyboard shortcuts (e.g. ctrl+s/cmd+s) trigger consistently even when focused on fields (Neeraj Yetheendran)WAGTAIL_ALLOW_UNICODE_SLUGSsetting when auto-generating slugs (LB (Ben) Johnston)convert_mariadb_uuidsmanagement command to assist with upgrading to Django 5.0+ on MariaDB (Matt Westcott)--purge-onlyinwagtail_update_image_renditionsmanagement command section (Pranith Beeram)6.3.0with a fix for the missing favicon (Sage Abdullah)wagtail_update_image_renditionsmanagement command on the using images page (LB (Ben) Johnston)html.parser(Jake Howard)html.parser& removehtml5libdependency (Jake Howard)Buttonthat only renders links (a element) toLinkand remove unused prop & behavior that was non-compliant for aria role usage (Advik Kabra)wagtail.models.AbstractWorkflowmodel to support future customizations around workflows (Hossein)classnamestemplate tag to handle nested lists of strings, use template tag for adminbodyelement (LB (Ben) Johnston)UploadedDocumentandUploadedImageinto newUploadedFilemodel for easier shared code usage (Advik Kabra, Karl Hobley)window.chooserUrlsglobals, removing the need for inline scripts (Elhussein Almasri)w-init(InitController) to support adetailvalue to be dispatched on events (Chiemezuo Akujobi)page_breadcrumbstag to use sharedbreadcrumbs.htmltemplate (Sage Abdullah)keyboardicon to admin icon set (Rohit Sharma)SwapController(LB (Ben) Johnston)w-block/BlockController) to instantiateStreamFieldblocks (Karthik Ayangar)w-kbd/KeyboardController) (Neeraj Yetheendran)xregexp(IE11 polyfill) along withwindow.XRegExpglobal util (LB (Ben) Johnston)urlifyto use TypeScript, officially deprecatewindow.URLifyglobal util (LB (Ben) Johnston)v6.0.6: 6.0.6Compare Source
v6.0.5: 6.0.5Compare Source
wagtail.contrib.settings(Victor Miti, Matt Westcott, Jake Howard)v6.0.4: 6.0.4Compare Source
v6.0.3: 6.0.3Compare Source
wagtail.contrib.settingsorModelViewSet(Ben Morse, Joshua Munn, Jake Howard, Sage Abdullah)WAGTAIL_ALLOW_UNICODE_SLUGSsetting when auto-generating slugs (LB (Ben) Johnston)convert_mariadb_uuidsmanagement command to assist with upgrading to Django 5.0+ on MariaDB (Matt Westcott)v6.0.2: 6.0.2Compare Source
make livehtml(Sage Abdullah)get_add_url()is always used to re-render the add button when the listing is refreshed in viewsets (Sage Abdullah)modal-workflow.jsscript usage to base admin template instead of ad-hoc imports so that choosers work inModelViewSets (Elhussein Almasri)InlinePanelis included by default inModelViewSet's create and edit views (Sage Abdullah)extra_footer_actionsblock in page create/edit templates (LB (Ben) Johnston, Sage Abdullah)6.3.0with a fix for the missing favicon (Sage Abdullah)v6.0.1: 6.0.1Compare Source
BooleanRadioSelectuses the same styles asRadioSelect(Thibaud Colas)collectstaticwhenManifestStaticFilesStorageis in use (Matt Westcott)v6.0: 6.0Compare Source
🎉 Special 10th anniversary release! 🎉
search_indexoption to StreamField blocks to control whether the block is indexed for searching (Vedant Pandey)UniqueConstraintin place ofunique_togetherforTranslatableMixin's system check (Temidayo Azeez, Sage Abdullah)IndexView.get_add_url()in snippets index view template (Christer Jensen, Sage Abdullah)Page.permissions_for_user()to be overridden by specific page types (Sébastien Corbin)extra_actionsblocks to Snippets and generic index templates (Bhuvnesh Sharma)panels/edit_handleronModelViewSet(Sage Abdullah)PagePermissionPolicyinwagtail.permissionsmodule (Sage Abdullah)max_length(Elhussein Almasri)TypedTableBlock(Tommaso Amici, Cynthia Kiser)TableBlockheader controls to a field that requires user input (Bhuvnesh Sharma, Aman Pandey, Cynthia Kiser)WAGTAILADMIN_LOGIN_URLsetting to allow customising the login URL (Neeraj Yetheendran)DrilldownControllerandw-drilldowncomponent to support drilldown menus (Thibaud Colas)captionon admin UI Table component (Aman Pandey)SnippetViewSet&ModelViewSetto support being copied (Shlomo Markowitz)STORAGESsetting introduced in Django 4.2 (phijma-leukeleu)index_results.htmlorindex_results_template_nameoverride on initial load (Stefan Hammer)last_published_by_user(Chiemezuo Akujobi)aliasandspecific(Tomasz Knapik)ActionControllerexplicitly checks for elements that allow select functionality (Nandini Arora)FormSubmissionsPanelon Django 5.0 when creating a new form page (Matt Westcott)MultipleChooserPanelmodal works correctly whenUSE_THOUSAND_SEPARATORisTruefor pages with ids over 1,000 (Sankalp, Rohit Sharma)th) for visual spacing, ensure this is ignored by accessibility tooling (V Rohitansh)SiteSetting.DoesNotExisterror when retrieving settings for an unrecognised site (Nick Smith)exclude_fields_in_copyare correctly excluded in new copies, resolving to the default value (Elhussein Almasri)default_orderingset on IndexView is preserved if ModelViewSet does not specify an explicit ordering (Cynthia Kiser)_()within templates (Chiemezuo Akujobi)Pagemodel referenceget_childrendocumentation (Salvo Polizzi)get_upload_tomethods (Osaf AliSayed, Dharmik Gangani)body.ready) from multiple JavaScript implementations to one Stimulus controllerw-init(Chiemezuo Akujobi)arg=_('...')in allwagtailadminmodule templates (Chiemezuo Akujobi)ruffand replaceblackwithruff format(John-Scott Atlakson)Configuration
📅 Schedule: Branch creation - "" in timezone US/Eastern, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.