Skip to content

security: add rate limiting to auth endpoints#707

Merged
lane711 merged 4 commits intomainfrom
merge-pr-662-rate-limit
Mar 28, 2026
Merged

security: add rate limiting to auth endpoints#707
lane711 merged 4 commits intomainfrom
merge-pr-662-rate-limit

Conversation

@lane711
Copy link
Copy Markdown
Collaborator

@lane711 lane711 commented Mar 27, 2026

Summary

Cherry-picked from #662 by @mmcintosh

Adds rate limiting middleware to auth endpoints (login, register, password reset) to prevent brute force attacks.


Attribution

Closes #662

🤖 Generated with Claude Code

- Create KV-based sliding window rate limiter middleware
- Apply rate limits to auth endpoints:
  - Login (JSON + form): 5 requests/minute
  - Register (JSON + form): 3 requests/minute
  - Password reset: 3 requests/15 minutes
  - Seed admin: 2 requests/minute
- Includes Retry-After and X-RateLimit-* response headers
- Graceful degradation: skips rate limiting if CACHE_KV not available
- Export rateLimit from middleware/index.ts

Fixes VULN-004
lane711 and others added 2 commits March 27, 2026 12:43
These build artifacts were accidentally included during cherry-pick and cause test failures in CI.

Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
These build artifacts are required for tests that import from @sonicjs-cms/core package entry.

Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
@lane711 lane711 merged commit 116daf8 into main Mar 28, 2026
2 checks passed
lane711 added a commit that referenced this pull request Mar 30, 2026
Security hardening release:
- SQL injection fix via sort order validation (#713)
- Reflected XSS fix on auth pages (#714)
- Stored XSS fix in content preview (#715)
- Security headers middleware (#708)
- Auth endpoint rate limiting (#707)
- CORS restrictions (#706)
- PBKDF2 password hashing (#705)
- JWT secret to environment variable (#704)

Bug fixes:
- Radio field support (#723)
- Confirm dialogs for repeater/block deletes (#722)
- Rich text editor field types (#721)
- user_profiles migration in core (#718)
- itemTitle for structured arrays (#725)

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants