Payload: Incomplete validation during the upload file lifecycle
漏洞描述
## Impact Under certain conditions, an authenticated user with permission to modify uploads could cause unintended files to be removed during file cleanup. This may result in data loss or service disruption. You are affected if: - You use Payload upload collections with local file storage. - Untrusted authenticated users can update or delete uploads. Deployments that restrict upload management to trusted users are less exposed. ## Patches Payload now validates uploaded filenames and ensures file cleanup remains within the configured upload directory. Users should upgrade Payload packages to `>= 3.90.0` or `>= 4.0.0-canary.34`. ## Workarounds Restrict upload update and deletion operations to trusted users and validate submitted filenames. These measures are temporary mitigations. Upgrading to a patched version is recommended. 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-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') - CWE-73: External Control of File Name or Path CVSS: - Primary: score 8.1, CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H - CVSS_V3: score 8.1, CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H References: - https://github.com/payloadcms/payload/security/advisories/GHSA-p223-2wr2-j562 - https://nvd.nist.gov/vuln/detail/CVE-2026-105865 - https://github.com/payloadcms/payload/commit/6b74418f628fa633c2f297e5919a9f91b383dc11 - https://github.com/payloadcms/payload/releases/tag/v3.90.0 - https://github.com/advisories/GHSA-p223-2wr2-j562