TP-Link Kasa摄像头六年未认证UDP泄露家庭GPS位置
速览
TP-Link Kasa系列摄像头存在严重安全漏洞,通过未认证的UDP数据包即可获取家庭GPS坐标,该漏洞已存在6年。攻击者无需任何认证即可远程获取用户精确位置,涉及大量家庭用户隐私。该漏洞凸显物联网设备在安全设计上的长期缺陷。
AI 深度解读
背景
2026年7月16日,安全研究员 Christopher Childress(BadChemical)公开披露了 TP-Link 旗下 Kasa 品牌室内摄像头 Spot EC71 的多个高危漏洞,这些漏洞在固件版本 2.4.1 中已修复。漏洞涉及三个独立且严重的问题:全局 RSA 私钥泄露、未加盐的 MD5 凭证存储,以及未经认证的 GPS 位置暴露。其中 GPS 暴露问题最早可追溯至 2016 年针对 TP-Link 智能插头的公开研究,而同类摄像头产品线在 2020 年已被独立研究者发现相同问题,但厂商仅对智能插头进行了修复,未覆盖摄像头产品线,导致该漏洞在 Kasa 摄像头上持续存在长达六年。
研究人员通过物理方式(CH341A 编程器直读 SPI 闪存芯片)提取固件,结合网络数据包分析和硬件逆向工程,确认了上述漏洞链。厂商 TP-Link Systems Inc. 在 2026 年 1 月 5 日按照标准协调披露协议收到通知,经过六个月的跨组件架构重设计后,于固件 2.4.1 中修复了所有漏洞。CVE 编号分别为 CVE-2026-9770(RSA/IAM)和 CVE-2026-13230(GPS),厂商 CVSS 4.0 评分为 8.6(高严重性),研究人员对 GPS 漏洞的 CVSS 4.0 评分为 7.1。
核心内容
漏洞一:全局 RSA 私钥泄露(CVE-2026-9770,CWE-321 / CWE-327)
固件中存在两套完整的全局 RSA 密钥/证书对,分别位于两个 SquashFS 层:
- 主 SquashFS 层(squashfs-root):包含一个 2014 年由 TPRI-CA 签发的 1024 位 RSA 密钥/证书对,证书已于 2024 年 7 月过期,使用 SHA1 签名。
- 次级 SquashFS 层(squashfs-root-0):包含一个 2021 年由 CN=TP-Link 签发的 2048 位 RSA 密钥/证书对,有效期至 2031 年 7 月,使用 SHA256 签名。该证书为设备运行时主动提供。
两套密钥/证书对在运行相同固件版本的所有设备上完全一致,均为全局共享。攻击者只需从任意一台 EC71 设备的 SPI 闪存中提取出 2048 位私钥,即可获得整个部署设备群的加密材料。虽然 1024 位密钥已过期无实际利用价值,但当前活跃的 2048 位私钥可被提取。厂商在 2026 年 1 月 16 日的回应中将其定性为「本地通信 TLS 证书相关问题」。研究人员尝试通过 ARP 欺骗进行中间人攻击,但未截获到本地应用与设备之间的流量,推测主要通信可能经过云端,因此该私钥的主动流量劫持可行性尚未被证实。
漏洞二:未加盐 MD5 凭证存储(CVE-2026-9770,CWE-916)
用户云账户凭证存储在 config/account 文件中,以未加盐的 MD5 哈希形式存在于两个文件系统分区中:
- 只读 SquashFS 文件系统包含出厂默认凭证(admin/admin)作为占位符。
- 运行时,jffs2 覆盖层会用实际用户的 TP-Link ID 邮箱(明文)和密码(未加盐 MD5 哈希)覆盖该文件。
跨域影响:根据 TP-Link 官方说明,TP-Link ID 是一个统一认证服务,可访问 TP-Link 社区、Omada Cloud、培训系统以及 Deco、Tether、Kasa、Tapo、Aginet、Omada、VIGI 等产品的管理界面。每个平台虽有独立界面,但凭证是全局通用的。现代彩虹表可以轻松破解未加盐的 MD5 哈希,通过 GPU 集群加速还可以实现全哈希空间暴力破解。一旦攻击者破解了该哈希,即可实现跨所有 TP-Link 产品的账户接管,包括 Tapo 智能锁(远程物理访问控制绕过)、Deco 网状网络系统(完全网络基础设施接管)、VIGI 商用监控设备等高影响设备。
漏洞三:未认证的 GPS 坐标暴露(CVE-2026-13230,CWE-359)
向设备 UDP 端口 9999 发送一个未认证的数据包 {"system":{"get_sysinfo":{}}},设备会返回完整的 JSON 响应,其中包含:
- 精确的 GPS 坐标(经度、纬度)
- 唯一的硬件标识符(oemId、hwId、deviceId、mac、mic_mac)
- 用户自定义设备别名
- 完整固件版本字符串
该响应无需任何认证令牌、会话凭证或设备配对即可触发。数据仅受一个简单的 XOR 加密保护,Wireshark 原生即可将其解码为明文。
GPS 坐标的来源:来自设备创建时移动设备的 GPS 定位,并永久存储在设备固件中(手动同步可用,但默认不自动旋转),因此提供了一个静态的家庭位置记录。
历史背景:TP-Link 智能家居协议在端口 9999 上的未认证性质自 2016 年 7 月就已公开——当时 softScheck 发布了对 HS110 智能插头的逆向研究报告,明确指出「本地网络上任何人都可以开关智能插头、重置或使其失效」,同时发布了公开的 Python 客户端和 Wireshark 解析器。2020 年 8 月,独立研究者针对 TP-Link KC100(Kasa 室内云台摄像头)发表了相同的研究,确认了通过端口 9999 暴露 GPS 坐标的漏洞。2024 年 4 月构建的 EC71 固件在相同端口使用相同协议表现出相同行为。TP-Link 在 2020 年 11 月修复了智能插头产品线中的同类漏洞,但未将修复扩展到摄像头产品线。
GPS 存储位置:GPS 坐标存储在 jffs2 覆盖层的 config/location 文件中,受整体静态加密保护,但通过未认证的 get_sysinfo 响应以明文形式广播,无论设备或账户配置如何。Kasa 地理围栏测试版功能于 2023 年 9 月推出(在 GPS 暴露公开后的三年),但 TP-Link 自己的地理围栏文档确认该功能依赖移动设备 GPS 而非摄像头存储的坐标。
二级市场攻击路径:将设备恢复出厂设置后,攻击者仍可提取前主人的凭证和 GPS 坐标。
漏洞披露过程
整个披露过程历时六个月,包括记录在案的三级分类失败和固件验证,导致一台测试设备永久变砖,需要硬件级恢复。最终修复采用了多组件架构重设计。厂商 CVSS 4.0 评分为 8.6,研究人员对 GPS 暴露的 CVSS 4
