GHSA-7vg8-29qx-jgj8
Payload: Client uploads could overwrite S3 objects
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| npm | @payloadcms/storage-s3 | < 3.90.0 | 3.90.0 |
| npm | @payloadcms/storage-s3 | >= 4.0.0-canary.0, < 4.0.0-canary.34 | 4.0.0-canary.34 |
Details
As written in the advisory (Markdown source, shown as plain text).
### Impact
An authenticated user could overwrite an existing S3 object belonging to another upload collection, bypassing that collection’s access controls and prior file validation.
You are affected if ALL of these are true:
- Client uploads are enabled for multiple collections that share an S3 bucket.
- useCompositePrefixes is not configured or is set to `false`.
### Patches
Users should upgrade Payload packages to `>= 3.90.0` or `>= 4.0.0-canary.34`.
### Workarounds
Disable client uploads until you can upgrade.
References
External links from the advisory. They lead to third-party sites.
- https://github.com/payloadcms/payload/security/advisories/GHSA-7vg8-29qx-jgj8
- https://nvd.nist.gov/vuln/detail/CVE-2026-105867
- https://github.com/payloadcms/payload/commit/2df8238fbf17edfce335c399b90bf524ba9906a2
- https://github.com/payloadcms/payload
- https://github.com/payloadcms/payload/releases/tag/v3.90.0