CVE-2026-105860

Payload: Tenant authorization bypass in Multi-Tenant Plugin

Published Oct 6, 2026 CVSS 4.0 · 7.1 High EPSS < 1% KEV · Not listed
Description
Payload is a free and open source headless content management system. In @payloadcms/plugin-multi-tenant versions before 3.90.0 and canary versions before 4.0.0-canary.34, the default tenant array field access allows an authenticated user to assign the user's own account to other tenants. Deployments that replace the default behavior with secured tenants arrayFieldAccess.create and tenants arrayFieldAccess.update functions are not affected by this behavior. This issue is fixed in versions 3.90.0 and 4.0.0-canary.34.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-p96c-xwx8-3cqj Payload has a tenant authorization bypass in Multi-Tenant Plugin
History
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': 7.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:N'}

Type Values Removed Values Added
First Time appeared Payloadcms
Payloadcms payload
Vendors & Products Payloadcms
Payloadcms payload
Type Values Removed Values Added
Metrics ssvc

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

Type Values Removed Values Added
Description Payload is a free and open source headless content management system. In @payloadcms/plugin-multi-tenant versions before 3.90.0 and canary versions before 4.0.0-canary.34, the default tenant array field access allows an authenticated user to assign the user's own account to other tenants. Deployments that replace the default behavior with secured tenants arrayFieldAccess.create and tenants arrayFieldAccess.update functions are not affected by this behavior. This issue is fixed in versions 3.90.0 and 4.0.0-canary.34.
Title Payload: Tenant authorization bypass in Multi-Tenant Plugin
Weaknesses CWE-862
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:N/SC:N/SI:N/SA:N'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Oct 6, 2026, 5:15 PM
Reserved
Oct 5, 2026, 11:06 PM
Status
Analyzed
Published
Oct 6, 2026, 5:17 PM
Modified
Oct 15, 2026, 12:10 AM