Impact
A cross-site scripting (XSS) vulnerability exists on the page revision comparison view within the Wagtail admin interface. A user with a limited-permission editor account for the Wagtail admin could potentially craft a page revision history 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.
Patches
Patched versions have been released as Wagtail 2.7.2 (for the LTS 2.7 branch) and Wagtail 2.8.1 (for the current 2.8 branch).
Workarounds
Site owners who are unable to upgrade to the new versions can disable the revision comparison view by adding the following URL route to the top of their project's urls.py
configuration:
from django.views.generic.base import RedirectView
urlpatterns = [
url(r'^admin/pages/(\d+)/revisions/compare/', RedirectView.as_view(url='/admin/')),
# ...
]
Acknowledgements
Many thanks to Vlad Gerasimenko for reporting this issue.
For more information
If you have any questions or comments about this advisory:
References
Impact
A cross-site scripting (XSS) vulnerability exists on the page revision comparison view within the Wagtail admin interface. A user with a limited-permission editor account for the Wagtail admin could potentially craft a page revision history 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.
Patches
Patched versions have been released as Wagtail 2.7.2 (for the LTS 2.7 branch) and Wagtail 2.8.1 (for the current 2.8 branch).
Workarounds
Site owners who are unable to upgrade to the new versions can disable the revision comparison view by adding the following URL route to the top of their project's
urls.py
configuration:Acknowledgements
Many thanks to Vlad Gerasimenko for reporting this issue.
For more information
If you have any questions or comments about this advisory:
0x6ba1e1a86e0f8ce8
)References