GitHub Advisoryadvisory · npm

GHSA-jq29-r496-r955 payload-preferences has Cross-Collection IDOR in Access Control (Multi-Auth Environments)

MEDIUM Published 2026-02-05 Modified 2026-02-07 Official page ↗
Aliases
CVE-2026-25574
Ecosystem
npm
Packages
payload
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
Weaknesses
CWE-639
Reviewed
2026-02-05

Affected packages

• npm payload: < 3.74.0 → fixed in 3.74.0

Description

Impact A cross-collection Insecure Direct Object Reference (IDOR) vulnerability exists in the `payload-preferences` internal collection. In multi-auth collection environments using Postgres or SQLite with default serial/auto-increment IDs, authenticated users from one auth collection can read and delete preferences belonging to users in different auth collections when their numeric IDs collide. Users are affected if ALL of these are true: • Multiple auth collections configured (e.g., `admins` + `customers`) • Postgres or SQLite database adapter with serial/auto-increment IDs • Users in different auth collections with the same numeric ID Not affected: • `@payloadcms/db-mongodb` adapter • Single auth collection environments • Postgres/SQLite with `idType: 'uuid'` Patches This vulnerability has been patched in v3.74.0. Users should upgrade to v3.74.0 or later. Workarounds There is no workaround other than upgrading. Users with multiple auth collections using Postgres or SQLite with serial IDs should upgrade immediately.

Related

Alias · CVE (1)

  • CVE-2026-25574 Payload is a free and open source headless content management system. vulnerability

Weakness · CWE (1)

  • CWE-639 Authorization Bypass Through User-Controlled Key weakness

References