The vulnerability exists in the @delmaredigital/payload-puck package, where the CRUD API endpoints for Puck-registered collections were missing authorization. The root cause was that the endpoint handlers, created by functions in src/endpoints/index.ts, were calling Payload's local API with the default setting of overrideAccess: true. This setting bypasses all collection-level access control checks, allowing any unauthenticated user to perform create, read, update, and delete operations on any document within the Puck-registered collections.
The patch, identified in commit 9148201c6bbfa140d44546438027a2f8a70f79a4, addresses this issue by explicitly setting overrideAccess: false and passing the req object in all calls to Payload's local API within these handlers. This change ensures that Payload's access control mechanism is properly invoked, and the access rules defined for the collection are evaluated against the current user's session, thus preventing unauthorized access. The affected functions are createListHandler, createCreateHandler, createGetHandler, createUpdateHandler, createDeleteHandler, createVersionsHandler, and createRestoreHandler, each corresponding to a different CRUD operation.