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.
Published: 2026-10-06
Score: 7.1 High
EPSS: < 1% Very Low
KEV: No
Impact: Unauthorized overwrite of S3 objects leading to data tampering
Action: Patch immediately
AI Analysis

Impact

In older releases of Payload CMS, an authenticated user can overwrite S3 objects that belong to another upload collection when client uploads are enabled for multiple collections that share a bucket and the configuration flag useCompositePrefixes is either false or unset. This allows the attacker to bypass the target collection’s access controls and the system’s prior file type validation, resulting in unauthorized modification of stored files.

Affected Systems

The vulnerability affects Payload CMS products: storage‑s3 versions earlier than 3.90.0 and canary releases earlier than 4.0.0‑canary.34, as well as the main Payload package in versions that include the problematic storage module. Users running these affected versions are at risk if they enable client uploads for more than one collection using a single S3 bucket.

Risk and Exploitability

The CVSS score of 7.1 indicates a high level of severity. Although the EPSS score is currently unavailable, there is no indication that the vulnerability is listed in the CISA KEV catalog, suggesting no known large‑scale exploitation yet. The necessary conditions for exploitation are an authenticated user with upload privileges and a configuration that permits multiple collections in one bucket without composite prefixes. When these conditions are met, an attacker can replace existing files, potentially compromising data integrity and exposing sensitive assets.

Generated by OpenCVE AI on October 6, 2026 at 19:14 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the Payload CMS storage‑s3 module to version 3.90.0 or later, or upgrade to canary 4.0.0‑canary.34 where the fix is applied.
  • Ensure that useCompositePrefixes is set to true or that each upload collection uses a separate S3 bucket to prevent cross‑collection overwrites.
  • If an immediate upgrade is not possible, modify the configuration to disable client uploads for collections sharing the same bucket or enable composite prefixes to enforce proper isolation.

Generated by OpenCVE AI on October 6, 2026 at 19:14 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-7vg8-29qx-jgj8 Payload: Client uploads could overwrite S3 objects
History

Thu, 15 Oct 2026 00:15:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:payloadcms:payload:*:*:*:*:*:node.js:*:*
cpe:2.3:a:payloadcms:payload:4.0.0:canary0:*:*:*:node.js:*:*
cpe:2.3:a:payloadcms:payload:4.0.0:canary10:*:*:*:node.js:*:*
cpe:2.3:a:payloadcms:payload:4.0.0:canary11:*:*:*:node.js:*:*
cpe:2.3:a:payloadcms:payload:4.0.0:canary12:*:*:*:node.js:*:*
cpe:2.3:a:payloadcms:payload:4.0.0:canary13:*:*:*:node.js:*:*
cpe:2.3:a:payloadcms:payload:4.0.0:canary14:*:*:*:node.js:*:*
cpe:2.3:a:payloadcms:payload:4.0.0:canary15:*:*:*:node.js:*:*
cpe:2.3:a:payloadcms:payload:4.0.0:canary16:*:*:*:node.js:*:*
cpe:2.3:a:payloadcms:payload:4.0.0:canary17:*:*:*:node.js:*:*
cpe:2.3:a:payloadcms:payload:4.0.0:canary18:*:*:*:node.js:*:*
cpe:2.3:a:payloadcms:payload:4.0.0:canary19:*:*:*:node.js:*:*
cpe:2.3:a:payloadcms:payload:4.0.0:canary1:*:*:*:node.js:*:*
cpe:2.3:a:payloadcms:payload:4.0.0:canary20:*:*:*:node.js:*:*
cpe:2.3:a:payloadcms:payload:4.0.0:canary21:*:*:*:node.js:*:*
cpe:2.3:a:payloadcms:payload:4.0.0:canary22:*:*:*:node.js:*:*
cpe:2.3:a:payloadcms:payload:4.0.0:canary23:*:*:*:node.js:*:*
cpe:2.3:a:payloadcms:payload:4.0.0:canary24:*:*:*:node.js:*:*
cpe:2.3:a:payloadcms:payload:4.0.0:canary25:*:*:*:node.js:*:*
cpe:2.3:a:payloadcms:payload:4.0.0:canary26:*:*:*:node.js:*:*
cpe:2.3:a:payloadcms:payload:4.0.0:canary27:*:*:*:node.js:*:*
cpe:2.3:a:payloadcms:payload:4.0.0:canary28:*:*:*:node.js:*:*
cpe:2.3:a:payloadcms:payload:4.0.0:canary29:*:*:*:node.js:*:*
cpe:2.3:a:payloadcms:payload:4.0.0:canary2:*:*:*:node.js:*:*
cpe:2.3:a:payloadcms:payload:4.0.0:canary30:*:*:*:node.js:*:*
cpe:2.3:a:payloadcms:payload:4.0.0:canary31:*:*:*:node.js:*:*
cpe:2.3:a:payloadcms:payload:4.0.0:canary32:*:*:*:node.js:*:*
cpe:2.3:a:payloadcms:payload:4.0.0:canary33:*:*:*:node.js:*:*
cpe:2.3:a:payloadcms:payload:4.0.0:canary3:*:*:*:node.js:*:*
cpe:2.3:a:payloadcms:payload:4.0.0:canary4:*:*:*:node.js:*:*
cpe:2.3:a:payloadcms:payload:4.0.0:canary5:*:*:*:node.js:*:*
cpe:2.3:a:payloadcms:payload:4.0.0:canary6:*:*:*:node.js:*:*
cpe:2.3:a:payloadcms:payload:4.0.0:canary7:*:*:*:node.js:*:*
cpe:2.3:a:payloadcms:payload:4.0.0:canary8:*:*:*:node.js:*:*
cpe:2.3:a:payloadcms:payload:4.0.0:canary9:*:*:*:node.js:*:*
Metrics cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N'}


Fri, 09 Oct 2026 09:15:00 +0000

Type Values Removed Values Added
First Time appeared Payloadcms
Payloadcms payload
Payloadcms storage-s3
Vendors & Products Payloadcms
Payloadcms payload
Payloadcms storage-s3

Tue, 06 Oct 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 06 Oct 2026 17:00:00 +0000

Type Values Removed Values Added
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.
Title Payload: Client uploads could overwrite S3 objects
Weaknesses CWE-639
References
Metrics cvssV4_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'}


Subscriptions

Payloadcms Payload Storage-s3
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-06T17:24:39.913Z

Reserved: 2026-10-05T23:06:29.748Z

Link: CVE-2026-105867

cve-icon Vulnrichment

Updated: 2026-10-06T17:24:35.692Z

cve-icon NVD

Status : Analyzed

Published: 2026-10-06T17:17:23.137

Modified: 2026-10-15T00:07:52.077

Link: CVE-2026-105867

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-09T08:43:51Z

Weaknesses
  • CWE-639

    Authorization Bypass Through User-Controlled Key