Signed-contract download endpoint is unauthenticated and enumerable #20
Reference in New Issue
Block a user
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?
GET /api/bookings/:id/contractserves any signed contract by numeric id (kept as-is because n8n email links use it) — there's no auth check, so incrementing the id lets anyone pull another client's signed contract PDF.Fix: replace with HMAC-signed URLs (
?token=…, usingSESSION_SECRET) and update the n8n workflow template that generates the email links accordingly.Migrated from
docs/BACKLOG-2026-07-16.md(S1).