Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Primary rating from GitHub Advisory · only source for this CVE.
CVSS VectorGitHub Advisory
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Lifecycle Timeline
6DescriptionGitHub Advisory
MyTube is a self-hosted downloader and player for several video websites Prior to version 1.8.72, an unauthenticated attacker can lock out administrator and visitor accounts from password-based authentication by triggering failed login attempts. The application exposes three password verification endpoints, all of which are publicly accessible. All three endpoints share a single file-backed login attempt state stored in login-attempts.json. When any endpoint records a failed authentication attempt via recordFailedAttempt(), the shared login attempt state is updated, increasing the failedAttempts counter and adjusting the associated timestamps and cooldown values. Before verifying a password, each endpoint calls canAttemptLogin(). This function checks the shared JSON file to determine whether a cooldown period is active. If the cooldown has not expired, the request is rejected before the password is validated. Because the failed attempt counter and cooldown timer are globally shared, failed authentication attempts against any endpoint affect all other endpoints. An attacker can exploit this by repeatedly sending invalid authentication requests to any of these endpoints, incrementing the shared counter and waiting for the cooldown period between attempts. By doing so, the attacker can progressively increase the lockout duration until it reaches 24 hours, effectively preventing legitimate users from authenticating. Once the maximum lockout is reached, the attacker can maintain the denial of service indefinitely by waiting for the cooldown to expire and sending another failed attempt, which immediately triggers another 24-hour lockout if no successful login occurred in the meantime. Version 1.8.72 fixes the vulnerability.
AnalysisAI
MyTube prior to version 1.8.72 permits unauthenticated attackers to trigger indefinite account lockouts affecting both administrator and visitor authentication by exploiting a shared, globally-scoped login attempt counter across three publicly accessible password verification endpoints. An attacker can repeatedly send invalid authentication requests to any endpoint, progressively increasing a 24-hour cooldown lockout duration that applies to all endpoints simultaneously, effectively denying legitimate users password-based authentication until the patch is deployed. No public exploit code or active in-the-wild exploitation has been confirmed, but the attack requires no privileges and can be automated trivially.
Technical ContextAI
MyTube is a self-hosted video downloader and player application developed by franklioxygen. The vulnerability resides in the login attempt tracking mechanism, specifically the loginAttemptService.ts module, which maintains a file-backed state store (login-attempts.json) shared across three separate authentication endpoints. The root cause is classified under CWE-307 (Improper Restriction of Excessive Authentication Attempts), a well-known class in the OWASP authentication attack surface. The application's canAttemptLogin() function checks a global cooldown state before password validation occurs, and recordFailedAttempt() increments a shared counter regardless of which endpoint processed the request. This architecture creates a cross-endpoint timing and state-sharing vulnerability where the lockout mechanism intended to protect individual accounts is instead weaponized as a denial-of-service vector affecting all authentication paths simultaneously.
RemediationAI
Upgrade MyTube to version 1.8.72 or later, which introduces per-endpoint login attempt tracking to prevent cross-endpoint counter manipulation (see vendor advisory at https://github.com/franklioxygen/MyTube/security/advisories/GHSA-6w95-qgc4-5jxf and upstream commits at https://github.com/franklioxygen/MyTube/commit/4d89b146b16d08f27d8fd3e0a9122b109335deb1, https://github.com/franklioxygen/MyTube/commit/752bc7f0ac83df8c881e6b6d5dd6f36bb274ee58, https://github.com/franklioxygen/MyTube/commit/dd7b4a611fcc5b25a569f379be9a503eb413b6aa). Until patching is feasible, implement network-level access controls to restrict authentication endpoints to trusted IP ranges, deploy a reverse proxy with rate limiting on all three password verification endpoints (enforce per-IP request throttling), and monitor login-attempts.json for anomalous increases in the failedAttempts counter to detect active exploitation attempts.
Mytube versions up to 1.7.71 contains a vulnerability that allows attackers to bypass IP-based rate limiting on general
MyTube self-hosted video downloader has an authorization bypass (CVSS 9.8) that allows unauthenticated access to adminis
MyTube versions prior to 1.8.71 allow unauthenticated remote attackers to register arbitrary passkeys and obtain full ad
MyTube versions prior to 1.8.69 suffer from an authorization bypass in the `/api/settings/import-database` endpoint that
MyTube is a self-hosted downloader and player for several video websites. Versions 1.7.78 and below have a Mass Assignme
MyTube versions 1.7.78 and earlier allow authenticated users to bypass authorization controls and export the complete ap
Same technique Denial Of Service
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-16521