v0.12 — Approval-flow + self-approval-bypass dichtgezet (3 sub-fixes) #107

Closed
opened 2026-05-26 18:23:40 +00:00 by jesse-a · 1 comment
Owner

Severity: MEDIUM (v0.12 — pentest-rapport)

  1. Approval-magic-link single-use — nieuw ApprovalToken-model met jti + consumedAt; TTL gereduceerd 30 → 7 dagen. Voorheen kon een onderschept token binnen 30 dagen meerdere keren goedkeuren.
  2. Self-approval geblokkeerd — uploader van een inkoop kan z'n eigen bon niet meer goedkeuren; recalcExpenseApprovalStatus filtert uploader uit de required-approver-set.
  3. resetExpenseApprovals beperkt tot ADMIN + trekt openstaande approval-tokens in zodat oude mail-links niet meer werken na een reset.
**Severity: MEDIUM** (v0.12 — pentest-rapport) 1. **Approval-magic-link single-use** — nieuw `ApprovalToken`-model met `jti` + `consumedAt`; TTL gereduceerd 30 → 7 dagen. Voorheen kon een onderschept token binnen 30 dagen meerdere keren goedkeuren. 2. **Self-approval geblokkeerd** — uploader van een inkoop kan z'n eigen bon niet meer goedkeuren; `recalcExpenseApprovalStatus` filtert uploader uit de required-approver-set. 3. **`resetExpenseApprovals` beperkt tot ADMIN** + trekt openstaande approval-tokens in zodat oude mail-links niet meer werken na een reset.
Author
Owner

Opgelost in commit aa68ac1.

Opgelost in commit aa68ac1.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
jesse-a/OpenCRM#107
No description provided.