v0.12 — Role-gating op AI/travel/search routes + safeNextPath + email-leak (5 sub-fixes) #110

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

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

  1. AI/Travel routes vereisen MANAGER: /api/ai/{customer-summary,ocr-expense,quote-draft} en /api/travel/quote checken nu rol; voorheen elk session-bezittend account.
  2. safeNextPath() afwijst nu ASCII-control chars + %2F%2F / %5C (URL-encoded slashes die proxies later decoden).
  3. E-mail niet meer in URL bij login-foutmelding — voorheen kwam ?email=... in browser-history + proxy-logs.
  4. Server Actions allowedOrigins expliciet gezet zodat alleen onze eigen host (en optioneel staging) actions kan triggeren — extra CSRF-defense achter een reverse-proxy.
  5. iCal-feed gehard — beperkt tot taken expliciet toegewezen aan de token-houder; facturen + projecten verwijderd uit feed; nieuwe User.icalRotatedAt-kolom voor rotatie-zichtbaarheid.
**Severity: MEDIUM** (v0.12 — pentest-rapport) 1. **AI/Travel routes vereisen MANAGER**: `/api/ai/{customer-summary,ocr-expense,quote-draft}` en `/api/travel/quote` checken nu rol; voorheen elk session-bezittend account. 2. **`safeNextPath()` afwijst nu** ASCII-control chars + `%2F%2F` / `%5C` (URL-encoded slashes die proxies later decoden). 3. **E-mail niet meer in URL** bij login-foutmelding — voorheen kwam `?email=...` in browser-history + proxy-logs. 4. **Server Actions `allowedOrigins`** expliciet gezet zodat alleen onze eigen host (en optioneel staging) actions kan triggeren — extra CSRF-defense achter een reverse-proxy. 5. **iCal-feed gehard** — beperkt tot taken expliciet toegewezen aan de token-houder; facturen + projecten verwijderd uit feed; nieuwe `User.icalRotatedAt`-kolom voor rotatie-zichtbaarheid.
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#110
No description provided.