🔍 CVE-2026-33935

7.5
CVSS Score
HIGH
2026-03-27
2026-06-17 10:38
✅ 완료

🇰🇷 한글 설명

MyTube 1.8.72 미만 버전에서 인증되지 않은 공격자가 로그인 시도 실패를 유도하여 관리자 및 방문자 계정을 잠글 수 있는 취약점이 발견되었습니다. 세 개의 비밀번호 검증 엔드포인트가 `login-attempts.json` 파일을 공유하여 사용하므로, 공격자가 반복적으로 잘못된 인증 요청을 보내면 최대 24시간 동안 모든 사용자의 로그인을 차단할 수 있습니다.

💡 쉬운 설명

공격자가 가짜 로그인 시도를 계속 보내서 시스템의 보안 잠금 기능을 악용하는 공격입니다. 이로 인해 실제 사용자가 로그인을 하려고 해도 시스템이 계속 차단되어 서비스를 이용할 수 없게 됩니다.

🇺🇸 원문 (English)

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.

📍 영향받는 시스템

MyTube version < 1.8.72

⚔️ 공격 벡터

공개된 인증 엔드포인트에 반복적인 잘못된 로그인 요청을 전송하여 공유된 로그인 시도 카운터와 쿨다운 타이머를 조작함

🛡️ 대응 방법

MyTube를 최신 버전인 1.8.72 이상으로 업데이트하십시오.

🔧 검증 코드

출력된 버전 정보가 1.8.72 미만이면 취약한 상태이며, 1.8.72 이상이면 안전합니다.

Shell / Script
grep -r "version" /path/to/mytube/config/package.json 2>/dev/null || echo 'Check MyTube version manually'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H