payloadcms/payload · Security
Payload: Bypassed sanitization of user uploaded SVGs
- GHSA ID
- GHSA-2pwp-2369-8fg3
- CVE ID
- CVE-2026-105862
- Severity
- high
- Published
- Updated
- CVSS
- 8.7 · CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N
- CVSS v3
- 8.7 · CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N
Description
Impact
A malicious SVG file upload could bypass sanitization, be stored, and execute attacker-controlled JavaScript (XSS) after a user downloads it and opens it.
You are affected if:
- You have a collection configured to upload and allow SVG files which can then be downloaded by users.
Patches
The fix validates SVG content on every upload path and hardens SVG/XML delivery so stored SVGs cannot frame attacker content.
Users should upgrade Payload packages to >= 3.90.0 or >= 4.0.0-canary.34.
Workarounds
Disallow SVG uploads, or serve uploaded SVGs as downloads with Content-Disposition: attachment and a strict CSP. These mitigations reduce exposure but do not replace upgrading when the patched release is available.
CWEs
- CWE-79 · Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
- CWE-434 · Unrestricted Upload of File with Dangerous Type
References
- https://github.com/payloadcms/payload/security/advisories/GHSA-2pwp-2369-8fg3 ↗
- https://nvd.nist.gov/vuln/detail/CVE-2026-105862 ↗
- https://github.com/payloadcms/payload/commit/a8c3a8e8e2680c96ec4f66f5b3854c5df6c35adf ↗
- https://github.com/payloadcms/payload/releases/tag/v3.90.0 ↗
- https://github.com/advisories/GHSA-2pwp-2369-8fg3 ↗