{"id":"CVE-2026-105867","aliases":["EUVD-2026-93513","GHSA-7vg8-29qx-jgj8"],"status":"published","title":"Payload: Client uploads could overwrite S3 objects","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.","severity":{"version":"4.0","score":7.1,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-12","score":0.0022,"percentile":0.12692,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-639"],"published":"2026-10-06T16:49:12Z","modified":"2026-10-28T02:30:42Z","fixes":[{"ecosystem":"npm","package":"@payloadcms/storage-s3","fixed_in":["3.90.0","4.0.0-canary.34"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"@payloadcms/storage-s3","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.90.0"}]}]},{"source":"ghsa","ecosystem":"npm","package":"@payloadcms/storage-s3","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.0.0-canary.0"},{"fixed":"4.0.0-canary.34"}]}]},{"source":"osv","ecosystem":"npm","package":"@payloadcms/storage-s3","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"3.90.0"}]}]},{"source":"osv","ecosystem":"npm","package":"@payloadcms/storage-s3","ranges":[{"type":"SEMVER","events":[{"introduced":"4.0.0-canary.0"},{"fixed":"4.0.0-canary.34"}]}]}],"products":[{"vendor":"@payloadcms","product":"storage-s3"},{"vendor":"payloadcms","product":"payload"}],"references":[{"url":"https://github.com/payloadcms/payload/security/advisories/GHSA-7vg8-29qx-jgj8","tags":["x_refsource_CONFIRM","Vendor Advisory","advisory","web"]},{"url":"https://github.com/payloadcms/payload/commit/2df8238fbf17edfce335c399b90bf524ba9906a2","tags":["x_refsource_MISC","Patch","fix","web"]},{"url":"https://github.com/payloadcms/payload/releases/tag/v3.90.0","tags":["x_refsource_MISC","Patch","Release Notes","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-105867","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-7vg8-29qx-jgj8"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/105xxx/CVE-2026-105867.json","tags":["advisory"]},{"url":"https://github.com/payloadcms/payload","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2026-105867","title":"Payload: Client uploads could overwrite S3 objects","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.","status":"published","published":"2026-10-06T16:49:12.532Z","modified":"2026-10-06T17:24:39.913Z","cvss":[{"version":"4.0","score":7.1,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N","level":"high","assessor":"cna"}],"cwes":["CWE-639"],"updated_at":"2026-11-02T14:19:56.755658Z"}],"euvd":[{"id":"EUVD-2026-93513","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.","status":"published","published":"2026-10-06T16:49:12Z","modified":"2026-10-06T17:24:39Z","cvss":[{"version":"4.0","score":7.1,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N","level":"high"}],"updated_at":"2026-11-02T17:27:37.140631Z"}],"ghsa":[{"id":"GHSA-7vg8-29qx-jgj8","title":"Payload: Client uploads could overwrite S3 objects","description":"### Impact\nAn authenticated user could overwrite an existing S3 object belonging to another upload collection, bypassing that collection’s access controls and prior file validation.\n\nYou are affected if ALL of these are true:\n- Client uploads are enabled for multiple collections that share an S3 bucket.\n- useCompositePrefixes is not configured or is set to `false`.\n\n### Patches\nUsers should upgrade Payload packages to `\u003e= 3.90.0` or `\u003e= 4.0.0-canary.34`.\n\n### Workarounds\nDisable client uploads until you can upgrade.","status":"published","published":"2026-10-07T20:28:59Z","modified":"2026-10-07T20:29:00Z","cvss":[{"version":"4.0","score":7.1,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N","level":"high"}],"cwes":["CWE-639"],"updated_at":"2026-11-02T14:41:29.107536Z"}],"nvd":[{"id":"CVE-2026-105867","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.","status":"published","published":"2026-10-06T17:17:23.137Z","modified":"2026-10-15T00:07:52.077Z","cvss":[{"version":"4.0","score":7.1,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"high","assessor":"secondary"},{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-639"],"updated_at":"2026-11-02T14:12:54.486849Z"}],"osv":[{"id":"CVE-2026-105867","title":"Payload: Client uploads could overwrite S3 objects","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.","status":"published","published":"2026-10-06T16:49:12.532Z","modified":"2026-10-28T02:30:42.80792761Z","cvss":[{"version":"4.0","score":7.1,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N","level":"high"}],"cwes":["CWE-639"],"updated_at":"2026-11-02T15:44:54.583213Z"},{"id":"GHSA-7vg8-29qx-jgj8","title":"Payload: Client uploads could overwrite S3 objects","description":"### Impact\nAn authenticated user could overwrite an existing S3 object belonging to another upload collection, bypassing that collection’s access controls and prior file validation.\n\nYou are affected if ALL of these are true:\n- Client uploads are enabled for multiple collections that share an S3 bucket.\n- useCompositePrefixes is not configured or is set to `false`.\n\n### Patches\nUsers should upgrade Payload packages to `\u003e= 3.90.0` or `\u003e= 4.0.0-canary.34`.\n\n### Workarounds\nDisable client uploads until you can upgrade.","status":"published","published":"2026-10-07T20:28:59Z","modified":"2026-10-07T20:45:04.347253409Z","cvss":[{"version":"4.0","score":7.1,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N","level":"high"}],"cwes":["CWE-639"],"updated_at":"2026-11-02T15:46:41.349637Z"}]}}
