Description
Payload is a free and open source headless content management system. In @payloadcms/storage-s3 versions before 3.90.0 and canary versions before 4.0.0-canary.34, an authenticated user can overwrite an existing S3 object belonging to another upload collection when client uploads are enabled for multiple collections sharing a bucket and useCompositePrefixes is false or unset. This bypasses the target collection's access controls and prior file validation. This issue is fixed in versions 3.90.0 and 4.0.0-canary.34.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| payloadcms | payload | < 3.90.0, >= 4.0.0-canary.0, < 4.0.0-canary.34 | — |
| @payloadcms | storage-s3 | < 3.90.0, >= 4.0.0-canary.0, < 4.0.0-canary.34 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| npm | @payloadcms/storage-s3 | < 3.90.0 | 3.90.0 | GHSA-7vg8-29qx-jgj8 |
| npm | @payloadcms/storage-s3 | >= 4.0.0-canary.0, < 4.0.0-canary.34 | 4.0.0-canary.34 | GHSA-7vg8-29qx-jgj8 |