Payload: Bypassed sanitization of user uploaded SVGs
漏洞描述
## 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. Source Code Location: https://github.com/payloadcms/payload Affected Packages: - npm:payload, affected < 3.90.0, patched in 3.90.0 - npm:payload, affected >= 4.0.0-canary.0, < 4.0.0-canary.34, patched in 4.0.0-canary.34 CWEs: - CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') - CWE-434: Unrestricted Upload of File with Dangerous Type CVSS: - Primary: score 8.7, CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N - CVSS_V3: score 8.7, CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N 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