Skip to content

No rate limiting on auth and booking endpoints — brute force & abuse #14

@SuyogShrestha61

Description

@SuyogShrestha61

Files: All controller endpoints in:

  • src/main/java/com/cabbooking/controller/AuthController.java
  • src/main/java/com/cabbooking/controller/BookingController.java
  • src/main/java/com/cabbooking/controller/api/IotBridgeController.java

Severity: High

Description

No rate limiting exists on any endpoint. This enables:

  1. Login brute force (POST /auth/login) — unlimited password attempts
  2. Registration spam (POST /auth/register) — unlimited account creation, filling the DB
  3. Booking abuse (POST /bookings/create) — mass booking creation
  4. Promo code enumeration — unlimited attempts to guess valid promo codes
  5. SOS spam (POST /bookings/{id}/sos) — unlimited emergency alerts

Impact

  • Account takeover via credential brute-force
  • Financial loss from fake rides and promo code abuse
  • Denial of service via resource exhaustion
  • Emergency system rendered unreliable

Fix

Use Spring Boot + Resilience4j or Bucket4j for rate limiting. Track IP-based request counts in a distributed cache (Redis) for production scalability.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions