Skip to main content

Monkeytype CVE-2026-69183

| EUVDEUVD-2026-63423 HIGH
Authentication Bypass by Spoofing (CWE-290)
2026-08-20 GitHub_M
7.5
CVSS 3.1 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI
7.5 HIGH

Publicly reachable endpoint requires no credentials or special conditions; impact is solely availability via quota exhaustion with no confidentiality or data integrity breach.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:L/SA:L

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

2
Analysis Generated
Aug 20, 2026 - 17:21 vuln.today
CVE Published
Aug 20, 2026 - 16:16 cve.org
HIGH 7.5

DescriptionCVE.org

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.

AnalysisAI

Rate-limit bypass in Monkeytype ≤ 26.26.0 allows unauthenticated remote attackers to neutralize all request throttling protections by rotating client-controlled cf-connecting-ip or x-forwarded-for HTTP headers, with each rotated value creating an independent rate-limit bucket and resetting the window. The affected middleware in backend/src/middlewares/rate-limit.ts trusts these client-supplied headers over Express's trust-proxy-derived req.ip, rendering rootRateLimiter, badAuthRateLimiter, getKey(), and getKeyWithUid() ineffective. …

Unlock full vulnerability intelligence

  • Risk assessment & exploitation conditions
  • Attack chain visualization
  • Remediation with exact patch versions
  • Threat intelligence from 22 sources
  • Personal watchlist & email alerts

Free forever · No credit card required

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata

Access
technique details hidden
Delivery
technique details hidden
Exploit
technique details hidden
Execution
technique details hidden
Persist
technique details hidden
Impact
technique details hidden

Vulnerability AssessmentAI

Exploitation The `x-forwarded-for` spoofing path requires only network access to any Monkeytype backend HTTP endpoint and is exploitable unconditionally on deployments where no trusted upstream proxy strips or overwrites that header before the request reaches the application. … Additional conditions and limiting factors are described in the full assessment.
Risk Assessment CVSS 3.1 scores this at 7.5 High (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H), reflecting trivial, unauthenticated network exploitation with high availability impact - an accurate characterization given the zero-complexity header manipulation required. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in.
Exploit Scenario Full exploit scenario with step-by-step reproduction available after sign-in.
Remediation No vendor-released patch has been identified at time of analysis; the GitHub Security Advisory GHSA-c878-p3jh-mmjf (https://github.com/monkeytypegame/monkeytype/security/advisories/GHSA-c878-p3jh-mmjf) should be monitored for a fix release. … Detailed patch versions, workarounds, and compensating controls in full report.

Recommended ActionAI

Within 24 hours, inventory all Monkeytype deployments and confirm which instances run version 26.26.0 or earlier. …

Sign in for detailed remediation steps and compensating controls.

Threat intelligence, references, and detailed analysis are available after sign-in.

Share

CVE-2026-69183 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy