{"id":"CVE-2023-41048","aliases":["EUVD-2023-2537","GHSA-jj7c-jrv4-c65x","PYSEC-2023-311"],"status":"published","title":"plone.namedfile vulnerable to Stored Cross Site Scripting with SVG images","description":"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.","severity":{"version":"3.1","score":3.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:N","level":"low","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-12","score":0.00566,"percentile":0.47463,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-79","CWE-80"],"published":"2023-09-21T14:31:07Z","modified":"2026-11-05T21:30:09Z","fixes":[{"ecosystem":"PyPI","package":"plone-namedfile","fixed_in":["5.6.1","6.0.3","6.1.3","6.2.1"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"plone-namedfile","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.6.1"}]}]},{"source":"ghsa","ecosystem":"PyPI","package":"plone-namedfile","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.0.0"},{"fixed":"6.0.3"}]}]},{"source":"ghsa","ecosystem":"PyPI","package":"plone-namedfile","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.1.0"},{"fixed":"6.1.3"}]}]},{"source":"ghsa","ecosystem":"PyPI","package":"plone-namedfile","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.2.0"},{"fixed":"6.2.1"}]}]},{"source":"osv","ecosystem":"PyPI","package":"plone-namedfile","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.6.1"}]}],"versions":["1.0","1.0.1","1.0.2","1.0.3","1.0.4","1.0.5","1.0.6","1.0a1","1.0b1","1.0b2","1.0b3","1.0b4","1.0b5","1.0b6","1.0b7","1.0b8","2.0","2.0.1","2.0.10","2.0.11","2.0.2","2.0.3","2.0.4","2.0.5","2.0.6","2.0.7","2.0.8","2.0.9","2.1.0","3.0.0","3.0.1","3.0.10","3.0.11","3.0.2","3.0.3","3.0.4","3.0.5","3.0.6","3.0.7","3.0.8","3.0.9","4.0","4.1","4.1.1","4.1.2","4.2.0","4.2.1","4.2.2","4.2.3","4.2.4","4.2.5","4.2.6","4.2.7","4.3.0","5.0","5.0.1","5.0.2","5.0.3","5.0.4","5.0.5","5.1.0","5.2.0","5.2.1","5.2.2","5.3.0","5.3.1","5.4.0","5.5.0","5.5.1","5.6.0"]},{"source":"osv","ecosystem":"PyPI","package":"plone-namedfile","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.0.0"},{"fixed":"6.0.3"}]}],"versions":["6.0.0","6.0.1","6.0.2"]},{"source":"osv","ecosystem":"PyPI","package":"plone-namedfile","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.1.0"},{"fixed":"6.1.3"}]}],"versions":["6.1.0","6.1.1","6.1.2"]},{"source":"osv","ecosystem":"PyPI","package":"plone-namedfile","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.2.0"},{"fixed":"6.2.1"}]}],"versions":["6.2.0"]},{"source":"osv","ecosystem":"PyPI","package":"plone-namedfile","ranges":[{"type":"GIT","events":[{"introduced":"0"},{"fixed":"188f66a4577021cf8f2bf7c0f5150f9b9573f167"},{"fixed":"217d6ce847b7171bf1b73fcb6c08010eb449216a"},{"fixed":"f0f911f2a72b2e5c923dc2ab9179319cc47788f9"},{"fixed":"ff5269fb4c79f4eb91dd934561b8824a49a03b60"}]},{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.6.1"},{"introduced":"6.0.0"},{"fixed":"6.0.3"},{"introduced":"6.1.0"},{"fixed":"6.1.3"}]}],"versions":["1.0","1.0.1","1.0.2","1.0.3","1.0.4","1.0.5","1.0.6","1.0a1","1.0b1","1.0b2","1.0b3","1.0b4","1.0b5","1.0b6","1.0b7","1.0b8","2.0","2.0.1","2.0.10","2.0.11","2.0.2","2.0.3","2.0.4","2.0.5","2.0.6","2.0.7","2.0.8","2.0.9","2.1.0","3.0.0","3.0.1","3.0.10","3.0.11","3.0.2","3.0.3","3.0.4","3.0.5","3.0.6","3.0.7","3.0.8","3.0.9","4.0","4.1","4.1.1","4.1.2","4.2.0","4.2.1","4.2.2","4.2.3","4.2.4","4.2.5","4.2.6","4.2.7","4.3.0","5.0","5.0.1","5.0.2","5.0.3","5.0.4","5.0.5","5.1.0","5.2.0","5.2.1","5.2.2","5.3.0","5.3.1","5.4.0","5.5.0","5.5.1","5.6.0","6.0.0","6.0.1","6.0.2","6.1.0","6.1.1","6.1.2","6.2.0","6.0.0b5","6.0.0b4","6.0.0b3","6.0.0b2","6.0.0b1","6.0.0a4","6.0.0a3","6.0.0a2","6.0.0a1"]}],"products":[{"vendor":"plone","product":"namedfile"},{"vendor":"plone","product":"plone.namedfile"}],"references":[{"url":"https://github.com/plone/plone.namedfile/security/advisories/GHSA-jj7c-jrv4-c65x","tags":["x_refsource_CONFIRM","x_transferred","Vendor Advisory","advisory","web"]},{"url":"https://github.com/plone/plone.namedfile/commit/188f66a4577021cf8f2bf7c0f5150f9b9573f167","tags":["x_refsource_MISC","x_transferred","Patch","fix","web"]},{"url":"https://github.com/plone/plone.namedfile/commit/217d6ce847b7171bf1b73fcb6c08010eb449216a","tags":["x_refsource_MISC","x_transferred","Patch","fix","web"]},{"url":"https://github.com/plone/plone.namedfile/commit/f0f911f2a72b2e5c923dc2ab9179319cc47788f9","tags":["x_refsource_MISC","x_transferred","Patch","fix","web"]},{"url":"https://github.com/plone/plone.namedfile/commit/ff5269fb4c79f4eb91dd934561b8824a49a03b60","tags":["x_refsource_MISC","x_transferred","Patch","fix","web"]},{"url":"https://github.com/plone/Products.PloneHotfix20210518","tags":["x_refsource_MISC","x_transferred","Product","package","web"]},{"url":"http://www.openwall.com/lists/oss-security/2023/09/22/2","tags":["x_transferred","Mailing List","Third Party Advisory","web","article"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2023-41048","tags":["advisory"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/plone-namedfile/PYSEC-2023-311.yaml","tags":["web"]},{"url":"https://github.com/advisories/GHSA-jj7c-jrv4-c65x","tags":["advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/41xxx/CVE-2023-41048.json","tags":["advisory"]},{"url":"https://github.com/plone/plone.namedfile","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2023-41048","title":"plone.namedfile vulnerable to Stored Cross Site Scripting with SVG images","description":"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.","status":"published","published":"2023-09-21T14:31:07.171Z","modified":"2025-02-13T17:08:47.048Z","cvss":[{"version":"3.1","score":3.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:N","level":"low","assessor":"cna"}],"cwes":["CWE-80","CWE-79"],"updated_at":"2026-11-02T14:35:19.217111Z"}],"euvd":[{"id":"EUVD-2023-2537","description":"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.","status":"published","published":"2023-09-21T14:31:07Z","modified":"2025-02-13T17:08:47Z","cvss":[{"version":"3.1","score":3.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:N","level":"low"}],"updated_at":"2026-11-03T00:03:49.098775Z"}],"ghsa":[{"id":"GHSA-jj7c-jrv4-c65x","title":"plone.namedfile vulnerable to Stored Cross Site Scripting with SVG images","description":"### Impact\nThere is a stored cross site scripting vulnerability for SVG images. A [security hotfix from 2021](https://github.com/plone/Products.PloneHotfix20210518) 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.\n\nNote 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.\n\nAll versions of `plone.namedfile` are impacted.\n\n### Patches\nPatches will be released in various `plone.namedfile` releases:\n\n* 5.6.1 (for Plone 5.2)\n* 6.0.3 (for Plone 6.0.0-6.0.4)\n* 6.1.3 (for Plone 6.0.5-6.0.6)\n* 6.2.1 (for Plone 6.0.7)\n\n### Workarounds\nThere is no workaround.","status":"published","published":"2023-09-21T17:14:58Z","modified":"2025-04-10T13:29:29Z","cvss":[{"version":"3.1","score":3.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:N","level":"low"}],"cwes":["CWE-79","CWE-80"],"updated_at":"2026-11-02T14:38:38.344711Z"}],"nvd":[{"id":"CVE-2023-41048","description":"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.","status":"published","published":"2023-09-21T15:15:10.667Z","modified":"2026-06-17T06:20:17.443Z","cvss":[{"version":"3.1","score":3.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:N","level":"low","assessor":"secondary"},{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-79","CWE-80"],"updated_at":"2026-11-02T14:08:29.595868Z"}],"osv":[{"id":"CVE-2023-41048","title":"plone.namedfile vulnerable to Stored Cross Site Scripting with SVG images","description":"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.","status":"published","published":"2023-09-21T14:31:07.171Z","modified":"2026-11-12T10:45:11.231275887Z","cvss":[{"version":"3.1","score":3.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:N","level":"low"}],"cwes":["CWE-79","CWE-80"],"updated_at":"2026-11-07T03:07:50.665443Z"},{"id":"GHSA-jj7c-jrv4-c65x","title":"plone.namedfile vulnerable to Stored Cross Site Scripting with SVG images","description":"### Impact\nThere is a stored cross site scripting vulnerability for SVG images. A [security hotfix from 2021](https://github.com/plone/Products.PloneHotfix20210518) 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.\n\nNote 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.\n\nAll versions of `plone.namedfile` are impacted.\n\n### Patches\nPatches will be released in various `plone.namedfile` releases:\n\n* 5.6.1 (for Plone 5.2)\n* 6.0.3 (for Plone 6.0.0-6.0.4)\n* 6.1.3 (for Plone 6.0.5-6.0.6)\n* 6.2.1 (for Plone 6.0.7)\n\n### Workarounds\nThere is no workaround.","status":"published","published":"2023-09-21T17:14:58Z","modified":"2026-06-10T17:14:16.501751069Z","cvss":[{"version":"3.1","score":3.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:N","level":"low"}],"cwes":["CWE-79","CWE-80"],"updated_at":"2026-11-02T15:46:50.687609Z"},{"id":"PYSEC-2023-311","description":"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.","status":"published","published":"2023-09-21T15:15:10Z","modified":"2026-06-10T17:14:16.766656466Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:52:53.837392Z"}]}}
