processing / processing/p5.js-web-editor

No rate limiting on auth endpoints (login/signup/reset)

Open
#3,922 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Bug Help Wanted
Dominant language
JavaScript
Stars
1.7k
Forks
1.7k
Avg merge
3d 4h
Merged PRs (30d)
8

Description

p5.js version

No response

What is your operating system?

None

Web browser and version

No response

Actual Behavior

Auth routes currently accept unlimited requests. There’s no throttling/cooldown behavior, so brute force and spam are trivial

Affected routes:

  • POST /editor/login
  • POST /editor/signup
  • GET /editor/signup/duplicate_check
  • POST /editor/reset-password
  • POST /editor/reset-password/:token

Expected behavior:
After a threshold, API should return 429 Too Many Requests (or equivalent lockout/backoff)

Actual behavior:
Requests continue indefinitely with no throttling

Why this matters:

-Brute-force login attempts are not slowed down.
-Signup/reset flows can be abused for spam and account enumeration.
-This is a security gap, not just optimization.

Environment:
Repo: processing/p5.js-web-editor
Date observed: 2026-02-21
Local dev setup on Windows

Steps to reproduce:

  1. Send repeated requests to POST /editor/login with bad credentials in a loop.
  2. Repeat rapidly (100+ requests).
  3. Observe responses

Contributor guide

Open the contributing guide

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.

Research direction

Start by reproducing the issue against the listed auth entry points: POST /editor/login, POST /editor/signup, GET /editor/signup/duplicate_check, and the reset-password routes. Trace those routes to their implementations and define the threshold and backoff behavior; done means excessive requests receive 429 or an equivalent lockout, while normal requests continue to work.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
authentication, backend-api-design, security
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.