-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore(deps): update dependency wagtail to v4 [security] #5362
Open
renovate
wants to merge
1
commit into
master
Choose a base branch
from
renovate/pypi-wagtail-vulnerability
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains 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
renovate
bot
force-pushed
the
renovate/pypi-wagtail-vulnerability
branch
2 times, most recently
from
February 6, 2024 16:17
8d7f6c2
to
ac2474d
Compare
renovate
bot
changed the title
chore(deps): update dependency wagtail to v4 [security]
Update dependency wagtail to v4 [SECURITY]
Feb 6, 2024
renovate
bot
force-pushed
the
renovate/pypi-wagtail-vulnerability
branch
3 times, most recently
from
March 6, 2024 13:54
ee61429
to
5606af6
Compare
renovate
bot
force-pushed
the
renovate/pypi-wagtail-vulnerability
branch
2 times, most recently
from
March 26, 2024 12:43
bb54d7b
to
d3e2524
Compare
renovate
bot
changed the title
Update dependency wagtail to v4 [SECURITY]
chore(deps): update dependency wagtail to v4 [security]
Mar 26, 2024
renovate
bot
force-pushed
the
renovate/pypi-wagtail-vulnerability
branch
from
March 26, 2024 14:38
d3e2524
to
207315b
Compare
renovate
bot
force-pushed
the
renovate/pypi-wagtail-vulnerability
branch
from
April 2, 2024 15:06
207315b
to
94c5f32
Compare
renovate
bot
force-pushed
the
renovate/pypi-wagtail-vulnerability
branch
2 times, most recently
from
April 17, 2024 12:03
5396e90
to
c6e82de
Compare
renovate
bot
force-pushed
the
renovate/pypi-wagtail-vulnerability
branch
4 times, most recently
from
April 25, 2024 18:08
061b3f7
to
bcbe986
Compare
renovate
bot
force-pushed
the
renovate/pypi-wagtail-vulnerability
branch
from
May 3, 2024 15:46
bcbe986
to
d6dd021
Compare
renovate
bot
force-pushed
the
renovate/pypi-wagtail-vulnerability
branch
2 times, most recently
from
May 20, 2024 19:54
7d1efb9
to
bdbb11b
Compare
renovate
bot
force-pushed
the
renovate/pypi-wagtail-vulnerability
branch
from
May 28, 2024 20:07
bdbb11b
to
e2ac110
Compare
renovate
bot
force-pushed
the
renovate/pypi-wagtail-vulnerability
branch
2 times, most recently
from
June 17, 2024 15:12
0d42b83
to
3b479a1
Compare
renovate
bot
force-pushed
the
renovate/pypi-wagtail-vulnerability
branch
from
July 11, 2024 18:23
3b479a1
to
88a1e1b
Compare
renovate
bot
changed the title
chore(deps): update dependency wagtail to v4 [security]
chore(deps): update dependency wagtail to v5 [security]
Jul 11, 2024
renovate
bot
force-pushed
the
renovate/pypi-wagtail-vulnerability
branch
from
August 6, 2024 09:41
88a1e1b
to
330450a
Compare
renovate
bot
changed the title
chore(deps): update dependency wagtail to v5 [security]
chore(deps): update dependency wagtail to v4 [security]
Aug 6, 2024
renovate
bot
force-pushed
the
renovate/pypi-wagtail-vulnerability
branch
3 times, most recently
from
October 7, 2024 19:20
90f43e5
to
b8046ca
Compare
renovate
bot
force-pushed
the
renovate/pypi-wagtail-vulnerability
branch
from
October 17, 2024 14:06
b8046ca
to
7fe18c4
Compare
renovate
bot
force-pushed
the
renovate/pypi-wagtail-vulnerability
branch
from
October 25, 2024 12:22
7fe18c4
to
55dd0bf
Compare
renovate
bot
force-pushed
the
renovate/pypi-wagtail-vulnerability
branch
3 times, most recently
from
November 25, 2024 15:53
7320fbd
to
54750f0
Compare
renovate
bot
force-pushed
the
renovate/pypi-wagtail-vulnerability
branch
2 times, most recently
from
December 10, 2024 01:10
1504a72
to
10ad938
Compare
renovate
bot
force-pushed
the
renovate/pypi-wagtail-vulnerability
branch
from
December 10, 2024 19:05
10ad938
to
ad90f16
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
None yet
0 participants
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:
==2.12.5
->==4.1.9
GitHub Vulnerability Alerts
CVE-2023-28836
Impact
A stored cross-site scripting (XSS) vulnerability exists on ModelAdmin views within the Wagtail admin interface. A user with a limited-permission editor account for the Wagtail admin could potentially craft pages and documents that, when viewed by a user with higher privileges, could perform 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 with ModelAdmin enabled.
ChooseParentView
), available when managing pages via ModelAdmin.InspectView
) when displaying document fields.Patches
Patched versions have been released as Wagtail 4.1.4 (for the LTS 4.1 branch) and Wagtail 4.2.2 (for the current 4.2 branch).
Workarounds
Site owners who are unable to upgrade to the new versions can disable or override the corresponding functionality.
ChooseParentView
For
ChooseParentView
:choose_parent_view_class
, with the custom view overriding theget_form
method.One of those steps need to be applied for every
ModelAdmin
class hooked into Wagtail where the model is a WagtailPage
or sub-class. Here is an example of implementing the customChooseParentView
with patched HTML escaping:InspectView
For
InspectView
:inspect_view_enabled=True
or set it to False to disable the view.inspect_view_fields
orinspect_view_fields_exclude
to prevent displaying document fields in the views.inspect_view_class
, with the custom view overriding theget_document_field_display
method.One of those steps need to be applied for every
ModelAdmin
class hooked into Wagtail whereinspect_view_enabled=True
. Here is an example of implementing the customInspectView
with patched HTML escaping:CVE-2023-28837
Impact
A memory exhaustion bug exists in Wagtail's handling of uploaded images and documents. For both images and documents, files are loaded into memory during upload for additional processing. A user with access to upload images or documents through the Wagtail admin interface could upload a file so large that it results in a crash or denial of service.
The vulnerability is not exploitable by an ordinary site visitor without access to the Wagtail admin. It can only be exploited by admin users with permission to upload images or documents.
Image uploads are restricted to 10MB by default, however this validation only happens on the frontend and on the backend after the vulnerable code.
Patches
Patched versions have been released as Wagtail 4.1.4 (for the LTS 4.1 branch) and Wagtail 4.2.2 (for the current 4.2 branch).
Workarounds
Site owners who are unable to upgrade to the new versions are encouraged to add extra protections outside of Wagtail to limit the size of uploaded files. Exactly how this is done will vary based on your hosting environment, but here are a few references for common setups:
client_max_body_size
LimitRequestBody
SizeConstraint
traefik.http.middlewares.limit.buffering.maxRequestBodyBytes
The changes themselves are deep inside Wagtail, making patching incredibly difficult.
CVE-2023-45809
Impact
A user with a limited-permission editor account for the Wagtail admin can make a direct URL request to the admin view that handles bulk actions on user accounts. While authentication rules prevent the user from making any changes, the error message discloses the display names of user accounts, and by modifying URL parameters, the user can retrieve the display name for any user. The vulnerability is not exploitable by an ordinary site visitor without access to the Wagtail admin.
Patches
Patched versions have been released as Wagtail 4.1.9 (LTS), 5.0.5 and 5.1.3. The fix is also included in Release Candidate 1 of the forthcoming Wagtail 5.2 release.
Workarounds
None.
Acknowledgements
Many thanks to @quyenheu for reporting this issue.
For more information
If you have any questions or comments about this advisory:
Release Notes
wagtail/wagtail (wagtail)
v4.1.9
: 4.1.9Compare Source
v4.1.8
: 4.1.8Compare Source
v4.1.7
: 4.1.7Compare Source
v4.1.6
: 4.1.6Compare Source
log_action
parameter onRevisionMixin.save_revision
(Christer Jensen)v4.1.5
: 4.1.5Compare Source
v4.1.4
: 4.1.4Compare Source
TemplateResponse
s for users with a custom timezone (Stefan Hammer, Sage Abdullah)v4.1.3
: 4.1.3Compare Source
StructValue
copies (Tidiane Dia)wagtail.schedule.cancel
(Stefan Hammer)require_admin_access()
(Stefan Hammer)ClusterableModel
requirements for using relations withRevisionMixin
-enabled models (Sage Abdullah)v4.1.2
: 4.1.2Compare Source
PreviewableMixin
applied (Sage Abdullah)latest_revision
pointer from being copied over when copying translatable snippets for translation (Sage Abdullah)v4.1.1
: 4.1.1Compare Source
verbose_name
property from breaking usage report views (Matt Westcott)CSRF_HEADER_NAME
setting (Sage Abdullah)v4.1
: 4.1Compare Source
SnippetViewSet
(Sage Abdullah)DraftStateMixin
(Sage Abdullah)PageQuerySet.private
method as an alias ofnot_public
(Mehrdad Moradizadeh)unbutton
,button-neutral
,button-strokeonhover
,hover-no
,yes
) and refactor button styles to be more maintainable (Paarth Agarwal, LB (Ben Johnston))AbstractFormField
toFormMixin
andAbstractEmailForm
toEmailFormMixin
to allow use with subclasses ofPage
(Mehrdad Moradizadeh, Kurt Wall)docs.wagtail.org/.well-known/security.txt
so that the security policy is available as per the specification on https://securitytxt.org/ (Jake Howard)classnames
Wagtail admin template tag (Mehrdad Moradizadeh)admonition
should not be used and titles fornote
are not supported, including clean up of some existing incorrect usage (LB (Ben Johnston)).button-secondary
buttons across the admin interface (Paarth Agarwal)button
not link for behaviour (LB (Ben) Johnston)search
type input in documentation search (LB (Ben) Johnston)help_text
when set onFieldPanel
,MultiFieldPanel
,FieldRowPanel
, and other panel APIs where it previously worked without official support (Matt Westcott)openpyxl
, removing usage ofXlsxWriter
,tablib
,xlrd
andxlwt
(Jaap Roes)wagtail.admin.views.generic.IndexView
for the Users index listing and search results (Mehrdad Moradizadeh)wagtail.admin.views.generic.CreateView
for the User creation view (Mehrdad Moradizadeh)wagtail.admin.views.generic.DeleteView
for the User delete view (Mehrdad Moradizadeh)wagtail.admin.views.generic.EditView
for the User edit view (Mehrdad Moradizadeh)button-secondary bicolor
variants to the pattern library and styleguide (Adinapunyo Banerjee)id
primary keys into Wagtail's generic views, including for Snippets and custom User models (Mehrdad Moradizadeh)<section>
element so screen reader users can bypass them more easily (Thibaud Colas)update_index
command can run without console output if called with--verbosity 0
(Ben Sturmfels, Oliver Parker)image_url
template tag, when using the serve view to redirect rather than serve directly, will now use temporary redirects with a cache header instead of permanent redirects (Jake Howard)WagtailPageTestCase
-assertPageIsRoutable
,assertPageIsRenderable
,assertPageIsEditable
,assertPageIsPreviewable
(Andy Babic)permission
toPanelGroup
, used byTabbedInterface
,ObjectList
,FieldRowPanel
andMultiFieldPanel
(Oliver Parker)PageQuerySet.not_public
from returning all pages when no page restrictions exist (Mehrdad Moradizadeh)formfield_callback
handling onModelForm.Meta
for future Django 4.2 release (Matt Westcott)ModelAdmin
correctly supports filters in combination with subsequent searches without clearing the applied filters (Stefan Hammer)capitalize()
calls to avoid issues with other languages or incorrectly presented model names for reporting and parts of site settings (Stefan Hammer)help_text
for InlinePanel (Matt Westcott)for_user
argument is passed to the form class when previewing pages (Matt Westcott)timesince_simple
tag is consistently added in the template based on usage in context (Stefan Hammer)timesince_last_update
and ensure the translated labels can be easier to work with in Transifex (Stefan Hammer)clean_name
values in the Form Builder validation and increase performance of checks (Dan Bentley)wagtailsearch_editorspick
table that prevents flushing the database (Matt Westcott)aria-label
s (Matt Westcott)v4.0.4
: 4.0.4Compare Source
(Reissue of 4.0.3 due to packaging issues)
help_text
when set onFieldPanel
,MultiFieldPanel
,FieldRowPanel
, and other panel APIs where it previously worked without official support (Matt Westcott)FieldPanel
deprecation message to add clarity for developers (Matt Westcott)help_text
for InlinePanel (Matt Westcott)AbstractForm
&AbstractEmailForm
page models correctly pass the form to the preview context (Dan Bentley)v4.0.3
: 4.0.3Compare Source
help_text
when set onFieldPanel
,MultiFieldPanel
,FieldRowPanel
, and other panel APIs where it previously worked without official support (Matt Westcott)FieldPanel
deprecation message to add clarity for developers (Matt Westcott)help_text
for InlinePanel (Matt Westcott)AbstractForm
&AbstractEmailForm
page models correctly pass the form to the preview context (Dan Bentley)v4.0.2
: 4.0.2Compare Source
DraftStateMixin
applied (Sage Abdullah)FilterFieldError
(Stefan Hammer)simple_translation
app is installed (Dan Braghis)MultiFieldPanel
correctly outputs all child classnames in the template (Matt Westcott)v4.0.1
: 4.0.1Compare Source
v4.0
: 4.0Compare Source
BaseGenericSetting
base model class that allows defining a settings model that applies to all sites rather than just a single site (Kyle Bayliss)base_url_path
toModelAdmin
so that the default URL structure of app_label/model_name can be overridden (Vu Pham, Khanh Hoang)full_url
to the API output ofImageRenditionField
(Paarth Agarwal)InlinePanel
's label when available for field comparison label (Sandil Ranasinghe)FormData
instead of jQuery'sform.serialize
when editing documents or images just added so that additional fields can be better supported (Stefan Hammer)PageRevision
with genericRevision
model (Sage Abdullah)wagtail.admin.views.generic
(Matt Westcott)wagtail.admin.widgets.chooser.BaseChooser
to make it easier to build custom chooser inputs (Matt Westcott)WAGTAIL_ENABLE_UPDATE_CHECK = 'lts'
(Tibor Leupold)prefetch_renditions
method toImageQueryset
for performance optimisation on image listings (Tidiane Dia, Karl Hobley)get_field_clean_name
method when definingFormField
models that extendAbstractFormField
(LB (Ben) Johnston)core.css
file (Thibaud Colas)ReportView
to extend from genericwagtail.admin.views.generic.models.IndexView
(Sage Abdullah)wagtail.admin.viewsets.chooser.ChooserViewSet
module to serve as a common base implementation for chooser modals (Matt Westcott)wagtail.admin.viewsets.model.ModelViewSet
(Matt Westcott)add_to_admin_menu
option forModelAdmin
(Oliver Parker)Page.get_latest_revision_as_page
toPage.get_latest_revision_as_object
(Sage Abdullah)PermissionHelper
(Tidiane Dia)get_snippet_edit_handler
function towagtail.admin.panels.get_edit_handler
(Sage Abdullah)boost
works when using Postgres with the database search backend (Tibor Leupold)explorer_breadcrumb
template tag tobreadcrumbs
as it is now used in multiple locations (Paarth Agarwal)django-filter
version to support 23 (Yuekui).iterator()
in a few more places in the admin, to make it more stable on sites with many pages (Andy Babic)wagtail.contrib.modeladmin.menus.SubMenu
class, provide a warning if used directing developers to usewagtail.admin.menu.Menu
instead (Matt Westcott)ModelAdmin
usage of breadcrumbs completely (Paarth Agarwal)WAGTAILADMIN_USER_PASSWORD_RESET_FORM
setting for overriding the admin password reset form (Michael Karamuth)classnames
template tag to easily build up classes from variables provided to a template (Paarth Agarwal)ModelAdmin
InspectView
footer actions consistent with other parts of the UI (Thibaud Colas)menu_item_name
to modifyMenuItem
's name forModelAdmin
(Alexander Rogovskyy, Vu Pham)blocks_by_name
andfirst_block_by_name
methods onStreamValue
(Tidiane Dia, Matt Westcott)SearchableListMixin
(Sage Abdullah)is_parent
kwarg in various page button hooks as this approach is no longer required (Paarth Agarwal)BadSignature
error (Jaap Roes)range
utility function (LB (Ben) Johnston)main
id on main element (for skip link) and consistent DOM layout for h1 header (Paarth Agarwal, LB (Ben) Johnston)autofocus
(LB (Ben) Johnston)path
andre_path
decorators to theRoutablePageMixin
module which emulate their Django URL utils equivalent, redirectre_path
to the originalroute
decorator (Tidiane Dia)BaseChooser
widget now provides a Telepath adapter that's directly usable for any subclasses that use the chooser widget and modal JS as-is with no customisations (Matt Westcott)ResumeWorkflowActionFormatter
message (Stefan Hammer)ModelAdmin
index listings with export list enabled would show buttons with an incorrect layout (Josh Woodcock)aria-label
is not set on locale selection dropdown within page chooser modal as it was a duplicate of the button contents (LB (Ben Johnston))ModelAdmin
title column behaviour to only link to 'edit' if the user has the correct permissions, fallback to the 'inspect' view or a non-clickable title if needed (Stefan Hammer)DecimalBlock
preserves theDecimal
type when retrieving from the database (Yves Serrano)ngettext
in Wagtail's internal JavaScript internationalisation utilities now works (LB (Ben) Johnston)ModelAdmin
single selection lists show correctly with Django 4.0 form template changes (Coen van der Kamp)AttributeError
when an empty search paramq=
is combined with other filters in the Images index view (Paritosh Kabra)extra_actions
in new changes to shared header template to avoid invalid template variable usage (Paarth Agarwal)BaseSiteSetting
/BaseGenericSetting
objects can be pickled (Andy Babic)DocumentChooserBlock
can be deconstructed for migrations (Matt Westcott)BaseSetting
when upgrading to Wagtail 4.0 (Stefan Hammer)updatemodulepaths
command for Python 3.7 (Matt Westcott)v3.0.3
: 3.0.3Compare Source
v3.0.2
: 3.0.2Compare Source
FormSubmission
returns a string (LB (Ben Johnston))updatemodulepaths
command for Python 3.7 (Matt Westcott)v3.0.1
: 3.0.1Compare Source
WAGTAILADMIN_BASE_URL
is not configured (Matt Westcott)TabbedInterface
will not show a tab if no panels are visible due to permissions (Paarth Agarwal)WAGTAIL_ENABLE_UPDATE_CHECK
sends the referrer origin withstrict-origin-when-cross-origin
(Karl Hobley)WAGTAILADMIN_BASE_URL
is absent due to the request object not being available (Matt Westcott)v3.0
: 3.0Compare Source
StreamFieldPanel
,RichTextFieldPanel
,ImageChooserPanel
,DocumentChooserPanel
,PageChooserPanel
,SnippetChooserPanel
) in favour ofFieldPanel
(Matt Westcott):focus-visible
for cross-browser consistency (Paarth Agarwal)modelAdmin
(Serafeim Papastefanos)README.md
logo to work for GitHub dark mode (Paarth Agarwal)If-Modified-Since
header insendfile_streaming_backend
which was only used by IE (Mariusz Felisiak)StreamField
to useJSONField
to store data, rather thanTextField
(Sage Abdullah)content_json
TextField
withcontent
JSONField
inPageRevision
(Sage Abdullah)replace_text
management command (Sage Abdullah)data_json
TextField
withdata
JSONField
inBaseLogEntry
(Sage Abdullah)page_description
to the Page model, to provide help text for a given page type (Kalob Taulien, Thibaud Colas, Matt Westcott, Stefan Hammer)trimmed
attribute to all blocktrans tags, so spacing is more reliable in translated strings (Harris Lapiroff)ModelAdmin
to manageTag
s (Abdulmajeed Isa)BASE_URL
(undocumented) toWAGTAILADMIN_BASE_URL
and add to documentation,BASE_URL
will be removed in a future release (Sandil Ranasinghe)AbstractEmailForm
(Jake Howard)WAGTAILIMAGES_RENDITION_STORAGE
setting to allow an alternative image rendition storage (Heather White)wagtail_update_image_renditions
management command to regenerate image renditions or purge all existing renditions (Hitansh Shah, Onno Timmerman, Damian Moore)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.