/data export-routes door VIEWER bereikbaar (privilege escalation) #86

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

Severity: HIGH

/data/export (CSV-bulk-export van klanten, projecten, facturen, uren) en /data/ubl (UBL-XML + factuur-PDF-ZIP) checkten alleen if (!session). De UI-page op /data vereist ADMIN, maar de underlying routes deden dat niet. Een VIEWER kon dus via directe URL bij gevoelige bulk-data komen.

Fix: beide routes hasRole('ADMIN') + totpEnabled checks toegevoegd.

Files: src/app/(app)/data/export/route.ts, src/app/(app)/data/ubl/route.ts

**Severity: HIGH** `/data/export` (CSV-bulk-export van klanten, projecten, facturen, uren) en `/data/ubl` (UBL-XML + factuur-PDF-ZIP) checkten alleen `if (!session)`. De UI-page op `/data` vereist ADMIN, maar de underlying routes deden dat niet. Een VIEWER kon dus via directe URL bij gevoelige bulk-data komen. **Fix**: beide routes `hasRole('ADMIN')` + `totpEnabled` checks toegevoegd. **Files**: src/app/(app)/data/export/route.ts, src/app/(app)/data/ubl/route.ts
Author
Owner

Opgelost in commit 67b2580.

Opgelost in commit 67b2580.
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#86
No description provided.