Skip to content

fix: validate roles in VerifyEmail HTTP handler#497

Merged
lakhansamani merged 3 commits intomainfrom
fix/verify-email-handler-role-validation
Mar 1, 2026
Merged

fix: validate roles in VerifyEmail HTTP handler#497
lakhansamani merged 3 commits intomainfrom
fix/verify-email-handler-role-validation

Conversation

@lakhansamani
Copy link
Contributor

Summary

  • Added role validation for ?roles= query parameter in VerifyEmail HTTP handler
  • Roles are now checked against user's stored roles using validators.IsValidRoles()
  • Prevents privilege escalation via URL manipulation

Test plan

  • Verify email verification with no roles param works (uses user's stored roles)
  • Verify email verification with valid roles subset works
  • Verify email verification with unauthorized roles returns 400

Fixes #486

Roles from the query string were used without validation against the
user's stored roles, allowing privilege escalation via URL manipulation.

Fixes #486
@lakhansamani lakhansamani merged commit 6486586 into main Mar 1, 2026
@lakhansamani lakhansamani deleted the fix/verify-email-handler-role-validation branch March 1, 2026 07:08
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.

VerifyEmail HTTP handler accepts roles from query string without validation

1 participant