Rate-limit is in-memory + X-Forwarded-For spoofable #95

Open
opened 2026-05-26 18:23:30 +00:00 by jesse-a · 0 comments
Owner

Severity: LOW (deferred — single-instance OK)

src/lib/rate-limit.ts gebruikt een lokale Map voor brute-force-bescherming. Werkt niet over meerdere instances. Login gebruikt x-forwarded-for/x-real-ip als key in src/app/actions/auth.ts — spoofbaar als de reverse proxy headers niet strikt overschrijft.

Status: gedeferd. Onze huidige Coolify-deploy draait single-instance achter Traefik dat XFF zelf zet — het rate-limit-pad werkt dus correct. Wordt actueel zodra we horizontal scaling toevoegen of als Traefik-config wijzigt.

Mogelijke fix later: Redis-backed rate-limit + strenger XFF-vertrouwen (verplichte proxy-bron-check).

**Severity: LOW** (deferred — single-instance OK) `src/lib/rate-limit.ts` gebruikt een lokale `Map` voor brute-force-bescherming. Werkt niet over meerdere instances. Login gebruikt `x-forwarded-for`/`x-real-ip` als key in `src/app/actions/auth.ts` — spoofbaar als de reverse proxy headers niet strikt overschrijft. **Status**: gedeferd. Onze huidige Coolify-deploy draait single-instance achter Traefik dat XFF zelf zet — het rate-limit-pad werkt dus correct. Wordt actueel zodra we horizontal scaling toevoegen of als Traefik-config wijzigt. **Mogelijke fix later**: Redis-backed rate-limit + strenger XFF-vertrouwen (verplichte proxy-bron-check).
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#95
No description provided.