[WEB-7730] fix(security): scope cascade deletes to workspace in BulkDeleteIssuesEndpoint#9270
[WEB-7730] fix(security): scope cascade deletes to workspace in BulkDeleteIssuesEndpoint#9270mguptahub wants to merge 1 commit into
Conversation
…Endpoint CycleIssue and ModuleIssue cascade deletes used raw issue_ids from the request instead of the already workspace+project scoped issues queryset, allowing cross-workspace deletion of related records. Fixes GHSA-6cw7-h92q-p9hg and GHSA-2rr4-rp7r-32p4. GHSA-7q7r-mrr4-2wwx (sub-issue parent reassign) covered in WEB-7727. Co-authored-by: Plane AI <noreply@plane.so>
📝 WalkthroughWalkthroughIn ChangesBulk Issue Deletion Scoping Fix
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Poem
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Linked to Plane Work Item(s) References This comment was auto-generated by Plane |
Summary
BulkDeleteIssuesEndpoint.delete()correctly scoped theissuesqueryset to workspace+project, but the cascade deletes onCycleIssueandModuleIssueused the rawissue_idsfrom the requestCycleIssue/ModuleIssuerecords they don't ownissue_id__in=issue_ids(raw user input) withissue__in=issues(the already-scoped queryset) in both cascade deletesAffected advisories (Cluster H)
Changes
apps/api/plane/app/views/issue/base.pyissue_id__in=issue_ids→issue__in=issuesin CycleIssue and ModuleIssue cascade deletesTest plan
Summary by CodeRabbit