漏洞概述 漏洞名称: Konnected alarm-panel switch state and zone topology disclosed to unauthenticated actors on the LAN 漏洞描述: Konnected 集成注册了一个 HTTP 端点 ,该端点标记为不需要认证( )。这意味着任何未认证的 LAN 上的客户端都可以通过发送 GET 请求来获取 Konnected 设备 ID、开关输出状态和面板连接拓扑。 漏洞细节: 枚举配置的 Konnected 设备 ID: 端点返回一个干净的 404 或 200 响应,作为设备存在的预言。 读取开关输出状态: 获取每个开关输出的开/关状态(siren、strobo 和继电器输出)。 触发面板连接: 每个未认证的 GET 强制进行一次出站 调用到 Konnected 硬件。 影响范围 警报系统侦察: 攻击者可以确定警报系统是否正在运行,从而可能进行物理入侵。 拓扑披露: 通过探测区域 1 到 12,攻击者可以映射警报面板的区域,包括传感器、开关和继电器。 设备 ID 暴力破解: 攻击者可以使用 404 响应来暴力破解已知的 Konnected 设备 ID。 出站连接放大: 每个未认证的 GET 请求都会触发一个出站 调用,可能导致连接风暴。 无痕迹: GET 请求不会在日志中留下记录,除非启用了 DEBUG 日志。 修复方案 版本: 2026.6.0 修复措施: 在 类中,确保 GET 请求也需要认证。具体修改如下: POC 代码 环境信息 主机: Darwin 25.2.0 arm64 Docker: Docker version 29.4.3, build 6e9efdd HA Image: ghcr.io/home-assistant/home-assistant:2026.5.2 Konnected Source: SHA-256 (the file containing the bug): 39e16d88fe0c8a2aae0e00214a881c81305207b3227d85c2f2051ad306 Konnected POC Shim Startup Log: 证明概念 重现环境: 单个 Docker 容器,包含 Home Assistant Core 2026.5.2 和一个小 shim,用于模拟 Konnected 警报面板布局并注册 。 步骤: 1. 引用运行容器内的三个关键源范围。 2. 控制:POST 和 PUT 在同一 URL 上返回 401,没有 Bearer 令牌。 3. 漏洞:GET 返回警报面板开关状态,无需 Authorization 头。 4. 枚举预言:三种不同的响应形状支持暴力破解。 5. 连接放大:N 个未认证的 GET 驱动 N 个出站 调用。