Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Email action token signature compared with !==

Closed Beginner friendly
#141 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

A pull request for this has already been merged.

  • #182 by @natos — merged

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
82/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
next.js, typescript
Domain
backend, security

Research direction

Start in src/lib/email-tokens.ts at verifyEmailAction and review how it computes and compares the HMAC signatures. Add the length check and constant-time comparison described in the issue, then add a test for the verification behavior. Done when the test confirms valid signatures still pass and invalid signatures fail.

Written by the indexing model from the issue text.

Description

code quality security

verifyEmailAction in src/lib/email-tokens.ts compares HMAC signatures with !==, which is not constant-time. Low practical risk over the network, but trivial to fix.

Fix. Compare with crypto.timingSafeEqual after a length check; add a test.

Dominant language
TypeScript
Stars
3
Forks
6
Avg merge
13h 29m
Merged PRs (30d)
56

Getting set up

Open in Codespaces

Starts the project's dev container in your browser, under your own GitHub account.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from grasshopper-protocol/grsshppr

All issues in grasshopper-protocol/grsshppr

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.