Summary
SonicJS through 3.0.0 contains a missing authorization vulnerability in the /api/:collection and /api/content write routes that only check coarse role labels. Authenticated authors or editors can use a bearer JWT or API key to create, modify, publish, or soft-delete other users' documents, bypassing document ACLs and administrator deny overrides.
Remediation
References
- Patchhttps://github.com/SonicJs-Org/sonicjs/pull/1147
- Advisoryhttps://hackmd.io/@hieuPenguinnn/sonicjs-content-api-write-acl-bypass
- Advisoryhttps://www.vulncheck.com/advisories/sonicjs-through-3.0.0-missing-authorization-in-content-write-api
- Referencehttps://github.com/SonicJs-Org/sonicjs
- Referencehttps://github.com/SonicJs-Org/sonicjs/blob/v3.0.0/packages/core/src/routes/api.ts#L1296
- Referencehttps://github.com/SonicJs-Org/sonicjs/issues/1125