Headline
CVE-2023-42458: Stored Cross Site Scripting with SVG images
Zope is an open-source web application server. Prior to versions 4.8.10 and 5.8.5, there is a stored cross site scripting vulnerability for SVG images. Note that an image tag with an SVG image as source is never vulnerable, even when the SVG image contains malicious code. To exploit the vulnerability, an attacker would first need to upload an image, and then trick a user into following a specially crafted link. Patches are available in Zope 4.8.10 and 5.8.5. As a workaround, make sure the “Add Documents, Images, and Files” permission is only assigned to trusted roles. By default, only the Manager has this permission.
Impact
There is a stored cross site scripting vulnerability for SVG images.
Note that an image tag with an SVG image as source is never vulnerable, even when the SVG image contains malicious code. To exploit the vulnerability, an attacker would first need to upload an image, and then trick a user into following a specially crafted link.
All versions of Zope are impacted on sites that allow untrusted users to upload images.
Patches
Patches will be released in Zope 4.8.10 and 5.8.5.
Workarounds
Make sure the “Add Documents, Images, and Files” permission is only assigned to trusted roles. By default only the Manager has this permission.
Credits
This was discovered by the Plone/Zope Security Team, after independent initial reports by Gustav Hansen and Faris Krivic. Thanks!
Related news
### Impact There is a stored cross site scripting vulnerability for SVG images. Note that an image tag with an SVG image as source is never vulnerable, even when the SVG image contains malicious code. To exploit the vulnerability, an attacker would first need to upload an image, and then trick a user into following a specially crafted link. All versions of Zope are impacted on sites that allow untrusted users to upload images. ### Patches Patches will be released in Zope 4.8.10 and 5.8.5. ### Workarounds Make sure the "Add Documents, Images, and Files" permission is only assigned to trusted roles. By default only the Manager has this permission.