High severity · published Aug 20, 2026
CVE-2026-69183
Monkeytype: Rate-limit and anti-brute-force controls bypassable via spoofed HTTP headers (forgotPasswordEmail/verificationEmail mail bombing and badAuth bypass)
7.5
CVSS
0.5%
EPSS
No
On KEV
Description
Monkeytype is a minimalistic and customizable typing test. In 26.26.0 and earlier, the backend rate-limit key generator in backend/src/middlewares/rate-limit.ts uses client-controlled cf-connecting-ip and x-forwarded-for headers before the trust-proxy-derived req.ip value. An unauthenticated attacker can rotate either header to create a new bucket for each request, bypassing rootRateLimiter, badAuthRateLimiter, getKey(), and the getKeyWithUid() fallback used by public endpoints. This permits repeated POST /users/forgotPasswordEmail and verificationEmail requests, mail bombing registered users, consuming Firebase or SMTP quota, evading brute-force protection, and enabling resource exhaustion. Exploitability of cf-connecting-ip depends on deployment topology, but x-forwarded-for and direct-to-origin paths remain affected when those values are not overwritten by a trusted proxy. No fixed version is available as of this review.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Confidentiality
None
Integrity
None
Availability
High
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.5% · higher than 41% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
MO
monkeytype · monkeytypegame
<= 26.26.0 · source: vendor
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-69183
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-69183
github.com
https://github.com/monkeytypegame/monkeytype/security/advisories/GHSA-c878-p3jh-mmjf
More from monkeytype
9.6
CVE-2024-41127
Monkeytype is vulnerable to Poisoned Pipeline Execution through Code Injection in its `ci-failure-comment.yml` GitHub Workflow, enabling attackers to gain `pull-requests` write access.
9.3
CVE-2026-118762
Monkeytype: fork PR can execute code with elevated GITHUB_TOKEN
6.1
CVE-2025-66563
Monkeytype vulnerable to stored XSS in approve quotes page
5.4
CVE-2025-59838
Monkeytype Vulnerable to Self-XSS on loading saved custom text
