All vulnerabilities
CVE-2026-105860GHSA-p96c-xwx8-3cqj

@payloadcms/plugin-multi-tenant: Payload has a tenant authorization bypass in Multi-Tenant Plugin

payloadcms @payloadcms/plugin-multi-tenantnpmLibraries & packages
CVSS
7.1High
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.19%Chance of exploitation activity in the next 30 days, higher than 8% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in3.90.0Also 4.0.0-canary.34GitHub
Published6 Oct 2026Updated 7 Oct 2026CVE List

What fixes it

  • 3.90.0@payloadcms/plugin-multi-tenant, npmGitHubnpm install @payloadcms/plugin-multi-tenant@3.90.0
  • 4.0.0-canary.34@payloadcms/plugin-multi-tenant, npmGitHubnpm install @payloadcms/plugin-multi-tenant@4.0.0-canary.34

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

Impact

When using the default tenant array field access, an authenticated user could assign themselves to other tenants.

You are affected if:

  • You are using @payloadcms/plugin-multi-tenant

If you configure the tenants arrayFieldAccess.create/update functions, a secured replacement membership field, you are not affected by this specific default behavior.

Patches

Users should upgrade Payload packages to >= 3.90.0 or >= 4.0.0-canary.34.

Workarounds

Configure tenants arrayFieldAccess.create and tenants arrayFieldAccess.update so only trusted users authorized for all tenants can modify memberships.

Text from GitHub Advisory Database

Affected versions 6

  • @payloadcms/plugin-multi-tenant, npm< 3.90.0GitHub
  • @payloadcms/plugin-multi-tenant, npm>= 4.0.0-canary.0, < 4.0.0-canary.34GitHub
  • payloadaffected: < 3.90.0CVE List
  • payloadaffected: >= 4.0.0-canary.0, < 4.0.0-canary.34CVE List
  • @payloadcms/plugin-multi-tenant, npmfrom first release, fixed in 3.90.0OSV
  • @payloadcms/plugin-multi-tenant, npmfrom 4.0.0-canary.0, fixed in 4.0.0-canary.34OSV

References 5