Skip to content

fix(config): add rate limiting and constant-time comparison to reload endpoint#2077

Merged
bpamiri merged 1 commit intodevelopfrom
peter/reload-endpoint-hardening
Apr 10, 2026
Merged

fix(config): add rate limiting and constant-time comparison to reload endpoint#2077
bpamiri merged 1 commit intodevelopfrom
peter/reload-endpoint-hardening

Conversation

@bpamiri
Copy link
Copy Markdown
Collaborator

@bpamiri bpamiri commented Apr 10, 2026

Summary

  • Add IP-based rate limiting to the reload endpoint (?reload=true&password=xxx): 5 failed attempts within 5 minutes locks out the IP
  • Replace Compare(Hash(...), Hash(...)) password check with MessageDigest.isEqual() for constant-time comparison, preventing timing attacks
  • Log successful and failed reload attempts to wheels_security log file

Replicates the same proven pattern already used by the console eval endpoint (consoleeval.cfm).

Test plan

  • Full test suite passes (2667 pass, 0 fail, 0 error on Lucee 7 + SQLite)
  • Reload endpoint still works with correct password
  • CI matrix validates across all engines

🤖 Generated with Claude Code

… endpoint

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@bpamiri bpamiri merged commit 4ba94eb into develop Apr 10, 2026
3 checks passed
@bpamiri bpamiri deleted the peter/reload-endpoint-hardening branch April 10, 2026 09:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant