Description
Plane is an an open-source project management tool. Prior to version 1.2.2, the `ProjectAssetEndpoint.patch()` method in `apps/api/plane/app/views/asset/v2.py` (lines 579–593) performs a global asset lookup using only the asset ID (`pk`) via `FileAsset.objects.get(id=pk)`, without verifying that the asset belongs to the workspace and project specified in the URL path. This allows any authenticated user (including those with the GUEST role) to modify the `attributes` and `is_uploaded` status of assets belonging to any workspace or project in the entire Plane instance by guessing or enumerating asset UUIDs. Version 1.2.2 fixes the issue.
Problem types
CWE-639: Authorization Bypass Through User-Controlled Key
Product status
References
github.com/.../plane/security/advisories/GHSA-rfj3-8c85-g46j
github.com/...ommit/9070acbbe81bc02db5c169789da6862d5fc35d96
github.com/makeplane/plane/releases/tag/v1.2.2