Fiatteur-actions omzeilden MFA + resendApproverMail had geen rol-check #99
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
jesse-a/OpenCRM#99
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Severity: HIGH
src/app/actions/expense-approval.tsgebruikterequireSession()voorapproveExpense,rejectExpenseenresendApproverMail— dat checkt geen MFA. Approve/reject controleerden weluser.isApprover, maarresendApproverMailcheckte zelfs geen rol/fiatteur-status. Een willekeurige ingelogde VIEWER zonder MFA kon dus fiatteurs-mail-keten van een willekeurige inkoop triggeren (mail-spam-vector + informatie-onthulling over inkoop-IDs).Fix:
approveExpense+rejectExpensegebruiken nuassertCanWrite()(= MANAGER + MFA).resendApproverMailgebruikt nuassertCanWrite()ÉN checkt dat de aanroeper fiatteur of admin is, anders throw.Files: src/app/actions/expense-approval.ts
Opgelost in commit
8e18add.