Commit 57d01fe
fix: add project ownership check to getMilestone() to prevent IDOR (#3657)
The getMilestone() method had #[RequiresPermission] without projectIdParam
and lacked a body-level project ownership check. Any authenticated user
could read milestones from projects they don't belong to by guessing
milestone IDs.
Compare with getTicket() which properly verifies project assignment via
isUserAssignedToProject().
CWE-639 (Authorization Bypass Through User-Controlled Key)
CVSS:3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N (7.5)
Co-authored-by: Claude <noreply@anthropic.com>1 parent 5eee264 commit 57d01fe
1 file changed
Lines changed: 10 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2910 | 2910 | | |
2911 | 2911 | | |
2912 | 2912 | | |
2913 | | - | |
| 2913 | + | |
2914 | 2914 | | |
2915 | 2915 | | |
2916 | | - | |
| 2916 | + | |
| 2917 | + | |
| 2918 | + | |
| 2919 | + | |
| 2920 | + | |
| 2921 | + | |
| 2922 | + | |
| 2923 | + | |
| 2924 | + | |
2917 | 2925 | | |
2918 | 2926 | | |
2919 | 2927 | | |
| |||
0 commit comments