Every CVESearch/Get API key

GHSA-hc5c-r8m5-2gfh

plone.restapi vulnerable to Stored Cross Site Scripting with SVG image in user portrait

3.7 LowFix available

GHSA-hc5c-r8m5-2gfh is a low vulnerability (CVSS 3.7) in plone-restapi, published September 21, 2023. No source lists public exploit code. Fixed in plone-restapi 8.43.3.

What does this mean?
Severity
3.7 LowCVSS 3.1, GitHub Advisories
Exploit chance
UnscoredNo EPSS score yet
Exploitation
None knownNot on CISA’s or ENISA’s lists
Fixed in
8.43.3plone-restapi +1 more

Description

Impact

There is a stored cross site scripting vulnerability for SVG images uploaded in user portraits.

Note that a page that uses 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 SVG image as user portrait, and then trick a user into following a link to this portrait.

Patches

A patch will be released in plone.restapi 8.43.3. This version is good for Plone 6.0, and for Plone 5.2 on Python 3.

In plone.restapi 7 or earlier there was no @portrait endpoint yet, so there is nothing to fix in that version. It is still vulnerable to this attack, and needs a fix in Zope 4. These two vulnerabilities share the same CVE: CVE-2023-42458.

Workarounds

You could remove the portrait field from the member data schema, and possibly remove all portraits that are already in the database, but this seems a bit drastic.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
High
Privileges needed
Low
User interaction
Required

What an attacker can affect

Confidentiality
Low
Integrity
Low
Availability
None

Affected packages

Affected packages
PackageAffectedFixed
plone-restapi
PyPI
8.0.0 up to 8.43.3
8.43.3
plone-restapi
PyPI
8.0.0 up to 8.43.3, plus listed versions
8.1.08.10.08.11.08.12.08.12.1
Show 45 moreShow less
8.13.08.14.08.15.08.15.18.15.28.15.38.16.08.16.18.16.28.17.08.18.08.18.18.19.08.2.08.20.08.21.08.21.18.21.28.22.08.23.08.24.08.24.18.25.08.25.18.26.08.27.08.28.08.29.08.3.08.3.18.3.28.30.08.30.1.dev08.31.08.32.08.32.18.32.28.32.38.32.48.32.4.dev08.32.58.32.68.33.08.33.18.33.2
8.43.3

What each source reports

GitHub Advisories Score used3.7

plone.restapi vulnerable to Stored Cross Site Scripting with SVG image in user portrait

Impact

There is a stored cross site scripting vulnerability for SVG images uploaded in user portraits.

Note that a page that uses 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 SVG image as user portrait, and then trick a user into following a link to this portrait.

Patches

A patch will be released in plone.restapi 8.43.3. This version is good for Plone 6.0, and for Plone 5.2 on Python 3.

In plone.restapi 7 or earlier there was no @portrait endpoint yet, so there is nothing to fix in that version. It is still vulnerable to this attack, and needs a fix in Zope 4. These two vulnerabilities share the same CVE: CVE-2023-42458.

Workarounds

You could remove the portrait field from the member data schema, and possibly remove all portraits that are already in the database, but this seems a bit drastic.

Record
GHSA-hc5c-r8m5-2gfh
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:N
Weakness
CWE-79, CWE-80
Updated
2026-11-02
OSV3.7

plone.restapi vulnerable to Stored Cross Site Scripting with SVG image in user portrait

Impact

There is a stored cross site scripting vulnerability for SVG images uploaded in user portraits.

Note that a page that uses 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 SVG image as user portrait, and then trick a user into following a link to this portrait.

Patches

A patch will be released in plone.restapi 8.43.3. This version is good for Plone 6.0, and for Plone 5.2 on Python 3.

In plone.restapi 7 or earlier there was no @portrait endpoint yet, so there is nothing to fix in that version. It is still vulnerable to this attack, and needs a fix in Zope 4. These two vulnerabilities share the same CVE: CVE-2023-42458.

Workarounds

You could remove the portrait field from the member data schema, and possibly remove all portraits that are already in the database, but this seems a bit drastic.

Record
GHSA-hc5c-r8m5-2gfh
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:N
Weakness
CWE-79, CWE-80
Updated
2026-11-02

History

History
RecordedChangedSources
first indexedGitHub Advisories, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

References

This page doesn't list everything

Left out here: 33 versions. The JSON record has them.

MoveEnter Open