CVE-2026-39397该漏洞存在于 @delmaredigital/payload-puck 插件 0.6.23 之前的版本中。插件在注册 /api/puck/* CRUD 端点处理程序时,错误地使用 overrideAccess: true 参数调用 Payload 本地 API。这导致系统完全绕过了集合级别的访问控制机制,且忽略预定义的访问规则。未经认证的攻击者可利用此漏洞读取敏感数据或篡改系统内容。
漏洞根源在于 @delmaredigital/payload-puck 插件中 createPuckPlugin() 函数的实现逻辑缺陷。当该函数注册 /api/puck/* 路径下的所有 CRUD(创建、读取、更新、删除)端点处理程序时,内部在调用 Payload 的本地 API 时,硬编码使用了 overrideAccess: true 参数。在 Payload CMS 的架构中,此参数用于强制绕过系统的访问控制层。因此,尽管开发者可能在插件配置选项或 Payload 集合定义中精心设计了 access 函数以限制访问,但这些规则在处理上述特定端点请求时被完全静默忽略。结合 CVSS 向量 AV:N/AC:L/PR:N,攻击者无需任何身份认证,仅需构造指向 /api/puck/* 的特定 HTTP 请求,即可对受保护的集合数据执行任意读写或修改操作,导致严重的权限提升和数据安全风险。