Plone namedfile XSS in SVG scales <5.6.1/6.0.3
CVE-2023-41048 Published on September 21, 2023
plone.namedfile vulnerable to Stored Cross Site Scripting with SVG images
plone.namedfile allows users to handle `File` and `Image` fields targeting, but not depending on, Plone Dexterity content. Prior to versions 5.6.1, 6.0.3, 6.1.3, and 6.2.1, there is a stored cross site scripting vulnerability for SVG images. A security hotfix from 2021 already partially fixed this by making sure SVG images are always downloaded instead of shown inline. But the same problem still exists for scales of SVG images. Note that an image tag with an SVG image as source is not 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 versions 5.6.1 (for Plone 5.2), 6.0.3 (for Plone 6.0.0-6.0.4), 6.1.3 (for Plone 6.0.5-6.0.6), and 6.2.1 (for Plone 6.0.7). There are no known workarounds.
Vulnerability Analysis
CVE-2023-41048 is exploitable with network access, requires user interaction and a small amount of user privileges. This vulnerability is consided to have a high level of attack complexity. The potential impact of an exploit of this vulnerability is considered to have a small impact on confidentiality and integrity, and no impact on availability.
Weakness Types
What is a Basic XSS Vulnerability?
The software receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special characters such as "<", ">", and "&" that could be interpreted as web-scripting elements when they are sent to a downstream component that processes web pages. This may allow such characters to be treated as control characters, which are executed client-side in the context of the user's session. Although this can be classified as an injection problem, the more pertinent issue is the improper conversion of such special characters to respective context-appropriate entities before displaying them to the user.
CVE-2023-41048 has been classified to as a Basic XSS vulnerability or weakness.
What is a XSS Vulnerability?
The software does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.
CVE-2023-41048 has been classified to as a XSS vulnerability or weakness.
Products Associated with CVE-2023-41048
You can be notified by email with stack.watch whenever vulnerabilities like CVE-2023-41048 are published in Plone:
Affected Versions
plone.namedfile:- Version < 5.6.1 is affected.
- Version >= 6.0.0, < 6.0.3 is affected.
- Version >= 6.1.0, < 6.1.3 is affected.
- Version >= 6.2.0, < 6.2.1 is affected.
Vulnerable Packages
The following package name and versions may be associated with CVE-2023-41048
| Package Manager | Vulnerable Package | Versions | Fixed In |
|---|---|---|---|
| pip | plone.namedfile | < 5.6.1 | 5.6.1 |
| pip | plone.namedfile | >= 6.0.0, < 6.0.3 | 6.0.3 |
| pip | plone.namedfile | >= 6.1.0, < 6.1.3 | 6.1.3 |
| pip | plone.namedfile | >= 6.2.0, < 6.2.1 | 6.2.1 |
Exploit Probability
EPSS (Exploit Prediction Scoring System) scores estimate the probability that a vulnerability will be exploited in the wild within the next 30 days. The percentile shows you how this score compares to all other vulnerabilities.