When querying JSON or richText fields, user input was directly embedded into SQL without escaping, enabling blind SQL Injection attacks. An unauthenticated attacker could extract sensitive data (emails, password reset tokens) and achieve full account takeover without password cracking.
Users are affected if ALL of these are true:
@payloadcms/drizzle as dependency):
@payloadcms/db-postgres@payloadcms/db-vercel-postgres@payloadcms/db-sqlite@payloadcms/db-d1-sqlitetype: 'json' or type: 'richText' field where access.read returns anything other than false (true or Where constraint)Users are NOT affected if:
@payloadcms/db-mongodbaccess: { read: () => false }Upgrade to Payload v3.73.0 or later.
If a project cannot upgrade immediately, add access: { read: () => false } to all JSON and richText fields as a temporary mitigation.
{
"cwe_ids": [
"CWE-89"
],
"github_reviewed": true,
"github_reviewed_at": "2026-02-05T20:51:38Z",
"nvd_published_at": "2026-02-06T22:16:11Z",
"severity": "CRITICAL"
}