ESPHome项目(一个基于ESP32和ESP8266的智能家居设备开源固件框架)披露了一个关键漏洞,该漏洞会破坏其Web服务器组件的基础认证功能。该漏洞编号为CVE-2025-57808,CVSS评分为8.1(高危),攻击者可完全绕过认证,可能获取设备控制权,包括访问OTA(空中下载)固件更新功能。
ESPHome解释称:”ESP-IDF web_server基础认证绕过问题源于Authorization头为空或不完整时的验证缺陷。”
漏洞存在于AsyncWebServerRequest::authenticate
函数中,该函数对Base64编码的Authorization头的验证存在缺陷。具体来说,校验仅对比了提供的值与存储凭据的子字符串部分。公告详细说明:
“这意味着当客户端提供的值(如dXNlcjpz
,即’user:s’)比正确值短得多时,仍能通过验证。此外,当提供的值为空字符串时,校验也会通过。”
实际上,这使得同一网络内的任何人都能在不提供有效凭据的情况下访问ESPHome的Web服务器。
公告还演示了该绕过的简易性。例如,配置ESPHome时若使用以下设置:
esp32:
board: ...
framework:
type: esp-idf
web_server:
auth:
username: user
password: somereallylongpass
通常情况下,系统应要求输入完整密码。但正如ESPHome所指出的:”用户只需提供密码的子字符串(例如仅输入’s’)即可错误地登录系统。”更严重的是,攻击者可以”手动设置一个Authorization请求头,即使完全不知道用户名也能通过验证”。
一个简单的curl命令即可演示该漏洞利用方式:
$ curl -D- http://example.local/
HTTP/1.1 401 Unauthorized
...
$ curl -D- -H 'Authorization: Basic ' http://example.local/
HTTP/1.1 200 OK
...
该漏洞的后果十分严重:
-
完全绕过认证
所有运行ESPHome Web服务(基于ESP-IDF框架)的设备实际上处于无保护状态。 -
OTA更新被利用
若启用了OTA功能,攻击者可推送恶意固件。 -
局域网内风险
攻击者只需位于同一局域网,无需任何凭据信息即可实施攻击。
正如安全公告强调:”该漏洞实质上使ESP-IDF web_server的基础认证功能失效,同一局域网内的攻击设备在完全不知晓正确用户名和密码的情况下即可绕过认证。”
受影响及修复版本
- 受影响版本:ESPHome 2025.8.0
- 已修复版本:ESPHome 2025.8.1
在升级前,强烈建议用户禁用ESP-IDF设备的Web服务组件,特别是已启用OTA功能的设备。
发表评论
您还未登录,请先登录。
登录